Desktopové prostredie

Desktopové prostredie alebo pracovné prostredie je grafické prostredie na správu počítača založené na pripodobnení k pracovnej ploche. Obsahuje ikony, panely nástrojov, applety, aplikácie a funkcie ako drag and drop.
Desktopové prostredia populárnych proprietárnych operačných systémov Microsoft Windows a Mac OS X sú pomerne nemenné (neprispôsobiteľné). Tým zaručujú konzistentnú použiteľnosť. Existuje však softvér od tretích strán, ktorý umožňuje meniť rozličné aspekty prostredia. Vo Windows najkomplexnejšie nahrádzajú štandardný shell Explorer.
Na systémoch založených na X Window System (zvyčajne unixové systémy) sú desktopové prostredia oveľa flexibilnejšie. Jednotlivé vrstvy (pozri nižšie) je možné vymeniť a konfigurovať, čím sa dosahuje vysoká možnosť prispôsobiiteľnosti.
Medzi najznámejšie desktopové prostredia pre Linux patrí KDE, Gnome a XFCE.

Technológia X Window System

Filozofia desktopového prostredia na operačných systémoch UNIX, Linux a kompatibilných založených na serveri X11 je založená na vrstvovom modeli. Najnižšoiu vrstvou je X server, ktorý zabezpečuje komunikáciu s grafickým hardvérom.

X server

Samotný X server nevie nič viac z vykresľovania, než zobraziť okno zadaných rozmerov na zadanej pozícii a nakresliť doňho to, čo mu prikáže aplikácia. Neposkytuje služby ako zmena veľkosti či pozície okna, minimalizáciu, maximalizáciu ani dekoráciu okien. Jeho úlohou je vytvárať a spravovať strom základných stavebných prvkov desktopového prostredia – okien. V terminológii X servera je oknom všetko, čo sa ocitne na displeji. Okná sú usporiadané do stromu – každé okno má okno, do ktorého patrí a mimo ktorého sa nemôže vykresliť – a ma svojich súrodencov – všetky ostatné okna, ktoré sú potomkami rovnakého okna. Jediným oknom, ktoré nemá rodičovské okno, je tzv. koreňové okno (root window), ktoré reprezentuje samotnú pracovnú plochu. Ďalšou úlohou, ktorú sprostredkováva X server je spracovávanie užívateľského vstupu z klávesnice a myši, ktoré sú poskytované aplikáciám vo forme udalostí.

Grafický toolkit

Ďalšou vrstvou je grafický toolkit. Je to súbor funkcií, ktorá umožňuje vykresľovať rôzne štylizované ovládacie prvky ako napríklad tlačidlá, menu a podobne. Grafický toolkit umožňuje aplikáciam vytvárať na pracovnej ploche zložitejšie objekty, ako napríklad systém menu, dialógové okná, panely nástrojov, a tieto prvý účinne riadiť. Od grafického toolkitu obvykle záleží aj vzhľad a správanie aplikácie. Použitý grafický toolkit určuje napríklad, či budú ovládacie prvky aplikácie reagovať na jednoduché kliknutie myšou alebo na dvojité, určuje, či sa prvok po umiestnení kurzora myši nad neho prenesie do popredia alebo nie. Moderné grafické toolkity umožňujú meniť vzhľad svojich ovládacích prvkov pomocou štýlov. To, ktorý grafický toolkit sa použije, záleží od aplikácie, preto je možné mať na jednom displeji použitých viacero grafických toolkitov v jednom čase, čo vedie k tomu, že rôzne súčasne bežiace aplikácie sa môžu ovládať a vyzerať rôzne. To spôsobuje značnú roztrieštenosť grafického prostredia. Najznámejšie používané grafické toolkity sú GTK+, Qt, Motif, ale existuje nepreberné množstvo ďalších.

Správca okien

Keďže X server neposkytuje služby ovládania rozmerov a pozície okien, existuje program, ktorý sa nazýva správca okien. Správca okien určuje, ako sa budú okna správať (kedy získa sa okno aktivuje, čo sa stane po dvojkliku na titulkový pruh, či sa bude dať zmeniť veľkosť okna a podobne) a to, ako budú okna vyzerať (ako bude vyzerať rám a titulkový pruh okna, či a kde bude mať okno tlačidlá, či sa bude dať meniť veľkosť okna ťahaním za okraj a pod.). Každému oknu je možné pripojiť pokyny pre správcu okien, ktoré do istej miery umožňujú ovládať jeho správanie. Aplikácia môže vyžiadať, aby okno zostalo trvale nad všetkými ostatnými oknami vrátane aktívneho alebo aby okno zostalo pod všetkými oknami, aj napriek tomu, že je aktívne. Aplikácia môže ďalej požiadať, aby okno nemalo rám alebo sa nezobrazovalo v paneli úloh. Taktiež môže oknu priradiť ikonu. Správca okien však nie je povinný tieto pokyny rešpektovať, často správcovia okien umožňujú užívateľom definovať svoje vlastné predvoľby chovania jednotlivých okien.

Správca relácií

Nie nutnou, ale často prítomnou vrstvou grafického desktopového prostredia je správca relácií. Správca relácií sa stará najmä o spúšťanie pomocných aplikácií, štartovanie aplikácií po prihlásení. Moderní správcovia relácií umožňujú pri opúšťaní relácie uložiť rozloženie spustených aplikácií a pri opätovnom prihlásení uviesť pracovnú plochu do pôvodného stavu. Správca relácií môže spustiť aj správcu plochy (ak nie je súčasťou správcu okien), aplikáciu poskytujúcu služby panelov a iné.

Aplikačná vrstva

Najvyššiu vrstvu desktopového prostredia tvoria samotné aplikácie. Aplikácie využívajú služby správcu okien a grafický toolkit na vykresľovanie svojho grafického rozhrania a X server na komunikáciu s užívateľom. Desktopové prostredie však môže poskytovať aplikáciám aj ďalšie služby, ktoré nemusia byť priamo viditeľné. Môže poskytovať služby medziprocesovej komunikácie, vzdialeného volania procedúr a iné.
Komplexné desktopové prostredia obsahujú často aj balíky nástrojov a aplikácií ako napríklad správca súborov, webový prehliadač alebo textový editor.