Hlavní navigace

Linuxový desktop - správci grafického prostředí

10. 2. 2003
Doba čtení: 4 minuty

Sdílet

Dalšími důležitými programy na desktopu jsou správce oken, správce plochy a správce relace (sezení). Na jejich činnost se dnes podíváme.

Správce oken

Dalším důležitým programem je správce oken. Jak název napovídá, stará se o dekoraci oken. Jak jsme si již řekli v minulém dílu, okna tvoří hierarchickou strukturu. Okna, která jsou přímo podřízená kořenovému oknu (tedy v první úrovni), mohou při svém otvírání požádat o spolupráci se správcem oken. Správce oken dokreslí oknům dekoraci, rozhoduje o pozici takového okna. Okna se dělí na několik jemnějších kategorií. Při otvírání okno sdělí, zda se jedná o okno standardní (například hlavní okno aplikace) a transientní (například dialogy), zda vyžadujefokus (aktivaci pro události z klávesnice) při startu a zda ho vůbec podporuje. Postupem času vznikly standardy, které umožňují mnohem detailnější specifikaci nakládání s okny – aby se správce oken vyhýbal panelům, správně nastavoval celoobrazovkový režim, podporoval dokové aplikace (aplikace, jejichž okno se objeví uvnitř jiného okna), aby se určité okno neobjevovalo na seznamu při přepínání apod. Pokud jim správce oken vyhovuje, nebude působit v prostředí moderního desktopu zmatek.

Užitečnou vlastností většiny správců oken je práce s virtuálními obrazovkami, z nichž každá může obsahovat různá okna. Existují nejméně tři různé implementace tohoto principu – pracovní oblasti (workspaces –ty na sebe plynule navazují a okno může ležet svými částmi ve více oblastech), virtuální plochy (virtual desktops – zde může okno přeskakovat z jedné plochy na druhou, ale nemůže ležet „na půli cesty“) a nakonec vícenásobné zobrazování (multihead – zobrazovací režim určený pro více monitorů).

Ne každé okno v první úrovni musí používat správce oken – ukázkou je například oblíbený přehrávač XMMS, který si režii práce s hlavními okny zajišťuje sám.

Vrátíme se k příkladu z minulého dílu a můžeme si spustit správce oken. Uděláme to neobvyklým způsobem – na již otevřeném okně. Zopakujme si spuštění kalkulačky na novém X serveru podle minulého dílu. Budeme tedy mít před sebou okno s kalkulačkou bez dekorace. Přepneme se zpět do terminálu a zadáme:

X -ac :1 &
DISPLAY=:1 xcalc &
sleep 10 ; DISPLAY=:1 twm

Nyní se přepneme zpět do nového serveru (máme na to deset sekund, které čeká příkaz sleep). Pak uvidíme, jak správce oken převzal okno do své správy a posunul ho, aby mohl vykreslit dekoraci.

Správce plochy

Správce plochy je aplikace, která se stará o vykreslování podkladové plochy (tedy kořenového okna). Bez ní bychom v kořenovém okně viděli pouze onu jemnou šachovnici. Tuto úlohu dříve běžně zajišťoval správce oken nebo nějaký program pro kreslení obrázků. Dnes se však vlády nad plochou ujali grafické správce souborů – programy, které nám ukazují obsah nějakého adresáře v našem domovském adresáři, poznačeného jako „Plocha“. V KDE má název Desktop, v Gnome je to standardně .gnome-desktop, volitelně pak samotný domovský adresář.

Správce relace (sezení)

Správce relace má poněkud méně viditelnou úlohu. Čeká v pozadí jako démon (tedy progam bez interakce s uživatelem) a stará se o to, abychom mohli práci přerušit a při příštím přihlášení jsme mohli pokračovat v místě, kde jsme přestali.

Každá aplikace, která správu relace podporuje, se při svém spuštění zaregistruje u správce relace a sdělí mu, jakým způsobem lze obnovit její stav. Je již na aplikaci samotné, aby si uložila potřebná data. Správce relace naopak může aplikaci posílat požadavky typu – zapiš stav nebo zapiš stav a skonči.

Moderní správce relace rozeznává tři typy aplikací – nastavovací (ta se spustí při každém přihlášení, provede nastavení a skončí), běžná (ta se spouští pouze tehdy, je-li zapsaná v předchozí relaci) a trvalé (restartované – to jsou aplikace, které se spouštějí automaticky znovu – například když zhavarují).

Správce relace je většinou vázaný na určité desktopové prostředí. Takový správce si navíc kontroluje, zda jsou spuštěny programy, které jsou v daném prostředí považovány za nutné (např. nastavení klávesnice, panel, správce plochy) a v případě potřeby je automaticky do relace přidá. Pro první spuštění má většinou připravenu standardní relaci pro začínajícího uživatele.

Správu relace též ovládají některé správce oken. Moderní desktopová prostředí však často dávají přednost vlastní správě relace.

Chceme-li alespoň zčásti vidět, jak správce relace pracuje, prohlédneme si příkazem ps x v terminálu běžící procesy. Můžeme tam uvidět příkazy s argumenty typu: /usr/bin/galeon-bin –sm-config-prefix /galeon-bin-idLzrM/ –-sm-client-id 11c0a80001000­104420126600000004340004 nebo gnome-terminal –sm-config-prefix /gnome-terminal-YgXzWJ/ –-sm-client-id 11c0a80001000­104438883200000004820003 –-screen 0 –-use-factory. Tyto programy spustil správce relace při startu. Podle těchto informací (a někde uschovaných detailních dat, která vysvětlují, kde měla aplikace okno, jak bylo velké a co se v něm nacházelo) je možné okna aplikací při přihlášení obnovit.

Správce pracoviště

Správce pracoviště je program, který řídí přihlašování do systému – vyžádá si od nás přihlašovací jméno a heslo a podle toho nastaví domovský adresář a práva. Obdobný program najdete i v terminálových oknech – jmenuje se login. Správce pracoviště nám také umožňuje nastavit některé parametry budoucí relace (sezení) – například typ relace (KDE, Gnome, Xsession a další), jazyk, v budoucnu zřejmě i grafické rozlišení a bitovou hloubku.

Po přihlášení se správce přihlášení skryje, vyvolá startovací program pro náš typ relace a čeká, až se odhlásíme, aby opět mohl nabídnout přihlašovací okno.

U většiny správců pracoviště lze povolit též vzdálené přihlášení. Při něm si vzdálený X server pomocí speciálního protokolu zvaného XDMCP vyžádá přihlašovací dialog. Po přihlášení probíhají veškeré akce stejně, jako bychom seděli u počítače, ke kterému jsme se přihlásili.

Autor článku