Začneme spomenutím základnej implementácie grafického X serveru a približným vysvetlením jeho fungovania. Následne si v tejto časti spomenieme aj niečo o správcoch prihlásenia (DM).
X Window System
X Window System je označenie pre balík programov, ktoré vzájomne umožňujú vytvorenie GUI. Spočiatku bolo X vyvíjané ako zjednotené grafické prostredie pre UNIX na Massachusettskej technickej univerzite a v roku 1985 vyšla prvá používateľom dostupná verzia X9. Od verzie X11 z roku 1987 sa označenie nemení a nové verzie sú označované ako jednotlivé vydania (najnovším vydaním verzie X11 je X11R7.7 zo 6. júna 2012).
V súčasnosti sa o vývoj X stará nadácia X.Org, ktorá bola založená v roku 2004 a jej cieľom je naďalej vyvíjať X ako open source implementáciu X Window System, ktorá nesie rovnomenný názov X.Org a je dostupná zväčša pod licenciou MIT. X Window System sa skladá z troch základných komponentov: X Server, X protokol a sada knižníc Xlib.
X Server
X využíva model klient-server, čo znamená, že aplikácia je klientom komunikujúcim s užívateľom prostredníctvom serveru, s ktorým komunikuje pomocou X protokolu. Aplikácia používajúca X tak môže byť zobrazovaná vzdialene, mimo hardvéru, na ktorom beží (príklad použitia je v súčasnosti hlavne X11 Forwarding pri spojení cez SSH protokol).
X Serverpriamo obsluhuje vstupné zariadenia (myš, klávesnica) aj zobrazovací hardvér (grafická karta).
X protokol
X Window System core protokol je základným protokolom X, ktorý riadi komunikáciu medzi aplikáciou a X Serverom. Používa 4 druhy paketov, ktoré sú posielané asynchrónne, a sú to požiadavky, odpovede, udalosti a chyby. Požiadavky posiela klient (aplikácia) a server na ne odpovedá.
Xlib
Aplikácie pre komunikáciu s X Serverom prostredníctvom X protokolu využívajú knižnicu Xlib, ktorá programátorom umožňuje používať X bez znalosti detailov X protokolu. V dnešnej dobe už existuje väčšie množstvo vyšších knižníc (napríklad Qt alebo GTK+) pre tvorbu GUI, ktoré Xlib využívajú a programátorom umožňujú jednoducho pracovať už s pripravenými prvkami.
Samotné aplikácie pre vytvorenie grafického prostredia, o ktorých bude reč ďalej, samozrejme rovnako pre vykresľovanie využívajú tieto knižnice a komunikáciu s X.
Display manager – správca prihlásenia
Väčšina GNU/Linux distribúcií v súčasnosti ponúka používateľom jednoduché grafické rozhranie na prihlásenie sa do rozličných grafických prostredí, tzv. Display Manager (DM). Akékoľvek grafické prostredie, ktoré budem uvádzať ďalej, je síce možné načítať aj priamo z terminálu, avšak pohodlnejšia cesta je prihlásenie sa do systému pomocou DM, pričom spustenie zvoleného prostredia je automatické.
Aj keď som o DM zatiaľ hovoril len ako o grafickom prostredí, existuje aj niekoľko správcov prihlásení, ktoré sú dostupné v textovom móde. Sú to napríklad CDM či Console TDM. Vzhľadom k tomu, že témou tohto článku je grafické prostredie GNU/Linux, týmto konzolovým správcom sa nebudem viac venovať.
GDM – Gnome Display Manager
DM je často súčasťou väčších desktopových prostredí a prvým takým, ktorý spomeniem je práve GDM. Ten je distribuovaný spolu s celým balíkom prostredia GNOME, ale je možné nainštalovať ho aj samostatne bez ohľadu na používané prostredie.
GDM ponúka tak ako väčšina správcov prihlásenia viacero funkcií a nastavení, či už sa jedná o voľbu prostredia, do ktorého sa chceme prihlásiť, jednoduchú zmenu vzhľadu alebo správu napájania (vypnutie, uspanie, reštart systému atp.).
GDM na Fedore 20 (screenshot Bradshaws1, CC BY-SA 4.0)
SDDM – Simple Desktop Display Manager
SDDM je pomerne nový a moderný správca prihlásenia, ktorého prvá verzia vyšla 13. marca 2013. Dokáže fungovať s X, ale aj s novým a moderným Waylandom. Zameriava sa na najmä jednoduchosť, rýchlosť a užívateľskú prívetivosť. SDDM bol zvolený ako nástupca KDM (KDE Display Manager) v novej verzii desktopového prostredia vyvíjaného komunitou KDE, a to KDE Plasma 5, o ktorom bude reč v druhej časti tohto článku.
Oficiálny screenshot SDDM (CC BY-SA 4.0)
LightDM – Light Display Manager
LightDM, ako už zo samotného názvu vyplýva, sa zameriava hlavne na svoju ľahkosť, jednoduchosť a rýchlosť, no aj rozšíriteľnosť a univerzálnosť. Používa viacero rôznych „front-endov“ pre vytvorenie prihlasovacieho menu, takzvané Greeters. V súčasnej dobe je vyvíjaný základný GTK+ Greeter, ktorý spolu s LightDM používa viacero odľahčených distribúcií. Pod aktívnym vývojom je aj Pantheon Greeter a Unity Greeter.
LightDM na Ubuntu 12.04 s Unity Greeter (screenshot Rprpr, CC BY-SA 3.0)
SLiM – Simple Login Manager
Zrejme najmenším a najmenej náročným, od desktopového prostredia nezávislým DM s veľkosťou len pár stovák kibibajtov, ktorý sa takisto ako LightDM zameriava na rýchlosť a jednoduchosť, je SLiM. Nevýhodou SLiMu oproti predchádzajúcim DM môže byť zbytočne komplikovaná voľba prostredia pred prihlásením, resp. konfigurácia jednotlivých možností. Väčšinou však málokto používa viacero prostredí. Závažnejším nedostatkom je, že SLiM nebol už 2 roky aktualizovaný a jeho vývoj stagnuje.
SLiM (screenshot SLiM, GPL)
V druhej časti...
… si napíšeme niečo o Window Manager (správca okien) a Desktop Environment (desktopové prostredie). Spomenieme si aj jednotlivé príklady, a to TinyWM, i3 a Openbox v prípade WM, a Xfce, LXDE, GNOME, Cinammon, MATE a KDE Plasma 5, ako populárnych zástupcov DE.
Poznámka šéfredaktora: Původně měl být článek pouze dvoudílný. Vzhledem ke čtenářskému zájmu o více desktopových prostředí bude ale nakonec o jeden díl delší.