Interface
Interfejs wiersza poleceń

Linux zawiera interfejs wiersza poleceń (CLI) jako część funkcji przejętych z Uniksa. Dystrybucje wyspecjalizowane na serwery lub administrację mogą używać wiersza poleceń jako jedynego interfejsu. Nieobecność interfejsu graficznego (GUI) pozwala na zminimalizowanie wykorzystywanych zasobów systemowych. Maszyny z Linuksem mogą równie dobrze działać bez podłączonego monitora. Aby administrator mógł się na nich zalogować, potrzeba albo zdalnego X11, albo terminal musi być uruchomiony z protokołu takiego, jak SSH lub telnet. W sieciach lokalnych zdalne używanie X11 jest przeważnie akceptowalne, ale na dłuższe dystanse operacje te mogą zajmować za dużo czasu. Innym sposobem na zarządzanie systemem bez urządzeń HID (Human Interface Device) i sieci jest terminal podłączany przez port szeregowy - głównie służący do debugowania i diagnostyki urządzeń wbudowanych.

Na początku wiele operacji wykonywanych w Linuksie wymagało użycia wiersza poleceń. Rozwój dystrybucji przeznaczonych na komputery biurkowe i domowe zmienił ten stan rzeczy. Mimo wszystko, wiele podręczników i tutoriali często podaje możliwość rozwiązania problemu z wiersza poleceń nawet, gdy można to zrobić używając aplikacji graficznej. Wiersz poleceń jest uniwersalny w świecie Linuksa, gdzie graficzny interfejs na każdej maszynie może być inny. To również ułatwia współpracę między Linuksem i innymi maszynami, które również używają wiersza poleceń, np. Mac OS X. Łatwiej jest również udzielić pomocy, gdy operacja ta sprowadza się do napisania/skopiowania tego, co należy wkleić do terminala.

Dobrze zaprojektowane GUI jest łatwiejsze w użyciu dla większości zadań, lecz bardziej doświadczeni użytkownicy mogą wciąż preferować linię komend; naukowcy, inżynierowie i twórcy oprogramowania najczęściej używają właśnie terminala. Wiele ważnych programów nie ma GUI. Wiersz poleceń jest wyposażony w automat, pozwalający na kilkukrotne lub opóźnione wypełnianie zadań i naturalnym procesem jest to, że komenda wykonująca pewne zadanie jest wpierw wydawana bezpośrednio, a potem używana ponownie w skrypcie zapewniając automatyzację.

Graficzny i tekstowy interfejs mogą również nawzajem się uzupełniać. Jest wiele graficznych emulatorów terminali, np. xterm, rxvt, aterm, gnome-terminal i konsole. X11 potrafi zapewnić komunikację między tymi programami a wierszem poleceń. Dodatkowo, XFCE, KDE oraz GNOME oferują narzędzie D-BUS, które zapewnia większą integrację aplikacji graficznych z terminalem.



Interfejs graficzny

Graficzny interfejs użytkownika GUI nie jest w Linuksie integralną częścią systemu operacyjnego, lecz dodatkowym zbiorem programów. W zależności od stopnia zaawansowania i integracji użytych rozwiązań, dostępne GUI możemy podzielić na małe menedżery okien oraz duże środowiska graficzne.

Małe menedżery okien

Tradycyjne GUI dla Linuksa bazuje na osobnym menedżerze okien, takim jak Fluxbox, FVWM, Enlightenment, lub Window Maker i zestawie najróżniejszych aplikacji, uruchamianych za jego pomocą. Menedżer okien pozwala na kontrolowanie położenia i wyglądu okien indywidualnych aplikacji oraz na interakcję z X Window System.

Wadą niezależnych menedżerów okien jest trudność w uzyskaniu spójnych i jednolitych interfejsów różnych aplikacji. Przedstawione zrzuty ekranów przedstawiają XMMS, RealPlayer, Mozilla Firefox, xterm, gaim i Konqueror; każdy z nich prezentuje się inaczej, ponadto, aplikacje te korzystają z odrębnych skrótów klawiszowych, inaczej organizują swoje menu, posiadają inne mechanizmy kopiowania i wklejania. Nawet jeśli każda aplikacja z osobna jest dobrze dopracowana, to używanie ich wszystkich w grupie jest utrudnione, gdyż zachowania, których nauczymy się w jednej aplikacji zazwyczaj dają się zastosować tylko w niej.

Zaletą korzystania z niezależnego menedżera okien jest prostota (z punktu widzenia programistów i doświadczonych użytkowników) oraz szybkość i niezawodność ich działania. Ponadto w porównaniu z dużymi środowiskami graficznymi takimi jak GNOME lub KDE, niezależne menedżery w mniejszym stopniu angażują zasoby takie jak procesor, pamięć i miejsce na dysku twardym. Użytkownicy, którzy preferują pracę w terminalu, chętnie pracują w minimalistycznych środowiskach graficznych; menedżer okien, sam w sobie, ma im przede wszystkim zapewnić możliwość otwierania okien emulatorów terminali komputerowych.



Duże środowiska graficzne

Używanie małych menedżerów okien staje się coraz mniej popularne wraz ze wzrostem większych środowisk graficznych. Są to zintegrowane sposoby na wygodną pracę, które starają się zapewnić interfejs równie łatwy w obsłudze jak ten z Mac OS X lub Microsoft Windows. Łączą one menedżer okien z pakietem standardowych aplikacji, które są łatwe w obsłudze nawet z punktu widzenia początkujących użytkowników.

Jednym z pierwszych rozpowszechnionych środowisk graficznych było CDE, które nie stało się popularne na Linuksie ze względu na koszty i ograniczenia licencyjne. W 1996 powstało KDE, a po nim, w 1997 roku, GNOME. Xfce jest trochę mniejszym projektem, który również powstał w 1997 i skupia się na szybkości i możliwości konfiguracji.

Obecnie rozwiązaniami dominującymi są GNOME i KDE, zazwyczaj instaluje się je standardowo na systemach linuksowych. Każde z nich oferuje:

-dla programistów m.in. zestaw standardowych API oraz środowisko programistyczne.

- dostępność w wielu językach i wsparcie dla tłumaczy

- kompletne środowisko graficzne z zestawem potrzebnych aplikacji, takich jak menedżer plików, przeglądarka internetowa, odtwarzacz multimediów, klient poczty elektronicznej, książka adresowa, przeglądarka dokumentów PDF, menedżer fotografii

-możliwość dostosowania systemu do swoich potrzeb.

Mimo iż oba te środowiska graficzne mają podobne cele, radzą sobie z nimi całkiem inaczej. KDE stara się, aby aplikacje były jak najbardziej konfigurowalne, aby można było w nie ingerować i aby mogły ze sobą w łatwy sposób kooperować. GNOME z drugiej strony, koncentrując się na kluczowych zadaniach (zgodnie z filozofią making things just work), stara się, aby całość była jak najprostsza w obsłudze. Każde z tych środowisk przyciąga inny rodzaj użytkowników i tworzy inną społeczność deweloperów.

Na początku XXI wieku oba te środowiska są już dojrzałe. Projekty Appeal i ToPaZ skupiają się na opracowywaniu nowych możliwości dla kolejnych edycji KDE i GNOME.