\"/
\"/ \"/    

X Window Systém pro úplného začátečníka

Michal Brandejs
Ročník V - číslo 1, září 1994
Citace: M. Brandejs. X Window Systém pro úplného začátečníka. Zpravodaj ÚVT MU. ISSN 1212-0901, 1994, roč. V, č. 1, s. 4-8.
 předchozí článek | následující článek 

Každá doba si žádá to svoje. V sedmdesátých letech seděli uživatelé u vytržení před svými řádkovými terminály a objevovali nové operační systémy. V osmdesátých letech se vše zdokonalovalo. Nástup výkonných pracovních stanic umožnil vyvíjet nové principy, které uživateli na jedné straně zjednodušují život u počítačů a na straně druhé rozšiřují jeho možnosti. Hovoříme o technikách obousměrné komunikace člověk-počítač a o tzv. grafických uživatelských rozhraních (GUI - Graphics User Interface).

Grafické uživatelské rozhraní, aby správně fungovalo, potřebuje vedle rychlého zobrazování v grafice, vedle klávesnice a polohovacího zařízení (obvykle myši) také výkonný víceúlohový (nebo chcete-li multitáskový) operační systém. To proto, že většinou "za" každým oknem na obrazovce se skrývá proces (běžící program) v operačním systému.

X Window Systém (nebo X Window, nebo jenom X) vznikl v Massachusetts Institute of Technology (MIT) a lze jej definovat jako implementaci GUI. X Window Systém je také chráněná značka, kterou drží MIT. Základní práce na X Window Systému probíhaly v letech 1984 až 1987. Z roku 1987 máme verzi X11. Ta se samozřejmě stále inovuje. V současné době se nejvíce používá Release 5 (z roku 1991) a postupně se přechází na Release 6.

Zvláštním rysem X Window Systému je to, že správa oken byla vyvinuta jako samostatný program (či soubor programů) a není tedy součástí jádra, jak je tomu zvykem u jiných GUI. Z toho plynou dvě důležité vlastnosti: systém není bezprostředně závislý na tom operačním systému, na kterém byl implementován, a je možné jej používat distribuovaně (v počítačové síti), tzn. že aplikace mohou běžet na jiném počítači, než na kterém se zobrazují.

S X Window Systémem se nejčastěji setkáme pod UNIXem, či pod systémy splňujícími stejné normy jako UNIX (SunOS, ULTRIX, BSD/386, Solaris, Linux atd.). Obecný X Window Systém z MIT lze za předpokladu, že budou zachovány všechny ochranné značky, bezplatně používat. To však neplatí o některých jeho konkrétních implementacích.

Základy ovládání

Všechny texty, které se mi o X Window Systému dostaly do ruky, na tomto místě začínají popisem pojmů a principů X protokolu v distribuovaném prostředí, což zdaleka ne všechny začátečníky příliš nadchne. Snažil jsem se vzpomenout si, co jsem sám jako začátečník postrádal, a rozhodl jsem se začít od pohledu na obrazovku, myš a aplikace X Window.

Implementací X Window Systému je několik. Pokusím se přiblížit implementaci co nejvíce se blížící obecnému X11. Proto jsem si vybral skvělý systém BSD/386 firmy BSDI1 s implementací X11R5 XFree86.

V hierarchii programů X Window Systému stojí poměrně vysoko program nazývaný správce oken (Window Manager). Tento program dává oknům vlastní vzhled (lišty, rámy apod.) a s okny podle pokynů manipuluje. V X11 je standardním správcem program twm (Tab Window Manager). Jiné jsou např. olwm (Open Look Window Manager) známý z pracovních stanic Sun, mwm (Motif Window Manager) a další. Z výše uvedeného důvodu budu popisovat právě twm.

Chování X Window Systému můžeme silně ovlivňovat nastavováním různých parametrů. Následující popis vychází z implicitních nastavení - jsou-li změněna, nemusí vše fungovat tak, jak bude uvedeno. Dále mi nezbývá než předpokládat, že úplnému začátečníkovi někdo řekl, jak se do X Window dostane. To totiž bude u každého systému či počítače různé a závisí to i na místních zvyklostech.

Okno vykresluje aplikace s pomocí X Window Systému. Většinou je okno zabaleno do viditelného obdélníkového rámečku s titulní lištou (Titlebar) nahoře.

titulní lišta okna X Window

Na titulní liště je jméno okna, levé a pravé titulní tlačítko (Titlebutton) a obdélník, který je buď světlý, nebo má stejný odstín jako zbytek lišty (potom není vidět).

Posouváním myši po podložce pohybujeme ukazovátkem na obrazovce. Chceme-li pracovat s určitým oknem, musíme na ně nejdříve ukázat. Objeví se světlý obdélník v titulní liště a okno se stane aktivním.

Předpokládá se, že myš pro X Window Systém má tři tlačítka. Označena jsou "tlačítko 1" až "tlačítko 3". Levé tlačítko má zpravidla jedničku. Ukážeme-li ukazovátkem do titulní lišty na její levé tlačítko (ukazovátko se změní na symbol ukazující ruky) a ťukneme prstem na tlačítko 1, okno se změní v ikonku. Z ikonky se k oknu vrátíme zpět ťuknutím na tlačítko 1, když ukazovátko ukazuje na ikonku.

Pomocí pravého tlačítka na titulní liště můžeme měnit velikost okna. Ukazovátkem ukážeme na pravé tlačítko (ukazovátko opět změní podobu, tentokrát na symbol ukazující ruky člověka majícího košili čistě vypranou ve Vizíru), stiskneme a držíme tlačítko 1 (ukazovátko změní podobu na kříž), ukazovátkem posuneme mimo plochu okna a potom můžeme upravit velikost okna na potřebný rozměr a tlačítko 1 pustit. Během úpravy rozměrů okna se nám vykresluje orientační obvod okna. Některé aplikace nedovolují měnit velikost svého okna. V takovém případě nebude okno na posouvání ukazovátka reagovat.

Celým oknem bez změny velikosti můžeme po obrazovce posunovat stiskem a držením tlačítka 1, když ukazovátko ukazuje kamkoli do titulní lišty mimo obě titulní tlačítka.

Pokud se na obrazovce překrývají dvě nebo více oken, potom nahoru se dostane okno tak, že ukazovátkem ukážeme na jeho titulní lištu a ťukneme na tlačítko 1. Pokud ťukneme na tlačítko 1 dvakrát (rychle po sobě), přemístí se navíc ukazovátko do středu okna. Naopak, chceme-li okno umístit nejvíce dolů, ťukneme na titulní liště na tlačítko 2.

V okamžiku, kdy se některý z procesů rozhodne vytvořit nové okno, změní se ukazovátko na obrazovce na levý horní roh nového okna a neustále "vleče za sebou" obrysy nového okna. Navíc se v levém horním rohu obrazovky zobrazí jméno nového okna. V takovém případě umístíme okno (pohybem myši) na vhodné místo a ťukneme na tlačítko 1. Pokud místo tlačítka 1 stiskneme a držíme tlačítko 2, můžeme ihned měnit velikost okna známým způsobem. A pokud ťukneme na tlačítko 3, upraví se velikost nového okna tak, aby dolní okraj okna byl na spodním okraji pracovní plochy.

K výše uvedeným funkcím se můžeme dostat i přes nabídku (Menu) správce okem twm. Ještě jsem nenapsal, co je kořenové okno (Root Window). Je to vlastně pracovní plocha, na kterou se umísťují okna aplikací. Pokud najdeme někde napsáno "ukažte ukazovátkem do kořenového okna", máme ukazovátko nastavit kamkoli mimo všechna okna aplikací. Z nabídky správce oken si vybereme tak, že ukazovátkem ukážeme do kořenového okna, stiskneme a držíme tlačítko 1, vybereme příkaz a tlačítko pustíme.

Příkazy, které twm nabízí, jsou tyto: Příkazem Iconify změníme v ikonku okno, na které ukážeme ukazovátkem a ťukneme na tlačítko 1. Resize nám dovoluje měnit velikost okna, Move oknem posunuje, Raise umístí okno "nahoru" a Lower okno umístí "nejvíce dolů". Příkazem Focus vybereme okno, které se stane trvale aktivním, bez možnosti aktivitu předat jinému oknu až do výběru příkazu Unfocus.

Příkazem Show Iconmgr spustíme jednoduchého správce ikon a oken v rámci twm. Jeho okno se objeví v levém horním rohu obrazovky. Bude obsahovat jména všech oken a ikon, které jsou na obrazovce. Ukazovátkem ukážeme na jméno okna a ťuknutím na tlačítko 1 přepínáme mezi jeho existencí coby ikony či okna. Správce ikon zrušíme příkazem Hide Iconmgr.

Dále nám správce oken nabízí důležitý příkaz Kill. Je určen k násilnému zrušení (zabití) procesu, který okno zobrazuje. Příkaz používáme ovšem až tehdy, kdy nejde proces zrušit "z jeho vlastní vůle" (např. jeho příkazem či tlačítkem Exit, Quit). Jeden proces si může otevřít více oken. Příkazem Kill proces zabijeme, když ukazatelem v podobě pirátského symbolu ukážeme do kteréhokoli okna procesu a stiskneme tlačítko 1. Příkazem Delete rušíme pouze jedno z dalších oken procesu.

Příkaz Restart použijeme tehdy, pokud systém přepsal svým hlášením část obrazovky, nebo při jiné vhodné příležitosti. Příkaz ukončí správce oken a znovu jej spustí s tím, že obsah obrazovky zůstane zachován. Příkazem Exit ukončíme správce oken a v některých implementacích i X Window Systém.

Aplikace X Window

Aplikací pro X Window (nebo též X klientů, ale k terminologii se chci dostat až v případném pokračování) je hodně. Jejich proveditelné soubory budou zřejmě uloženy v adresáři /usr/X11/bin. Nahlédněme tam.

Xterm

Tou základní aplikací, ze které se dostaneme k ostatním, je xterm. Okno, které tato aplikace produkuje, představuje obrazovku klasického řádkového terminálu. Uživatele řádkového terminálu se občas počítač ptá na jeho typ a uživatel odpovídá označením např. vt220 nebo ansi. V případě xtermu odpoví xterm. Od klasických typů fyzických terminálů se xterm liší mj. tím, že lze dynamicky měnit počet řádků a sloupců změnou velikosti okna. Pokud by systém na změnu velikosti okna automaticky nereagoval (např. si myslí, že má stále 24 řádků, i když jsme okno zvětšili na 52), potom mu např. v ksh nový údaj připomeneme příkazem:

eval `resize` obrácený apostrof!

pokud nefunguje, potom např.:

stty rows 52 či jiný počet řádků

Další vlastnost xtermu dovoluje pomocí myši kopírovat text buď uvnitř, nebo mezi dvěma okny xtermu. Této vlastnosti lze s výhodou využít při editování souborů pro zkopírování textu z jednoho okna do druhého se spuštěným editorem, při vkládání dlouhých jmen souborů z libovolného výpisu na obrazovce do příkazu, při kopírování celých příkazů apod.

Nejprve označíme text, který se má zkopírovat. Ukazatel přemístíme na první nebo poslední znak oblasti, která se má zkopírovat. Stiskneme a držíme tlačítko 1, ukazatel přesuneme na opačný konec označované oblasti a tlačítko 1 pustíme. Kopírovaná oblast je vysvícena inverzními barvami. Ťukneme-li dvakrát rychle po sobě na tlačítko 1, vybere se slovo, na které ukazuje ukazatel. Ťukneme-li třikrát, vybere se celý řádek (včetně znaku konce řádku).

Tlačítko 3 je určeno k úpravě hranic vybrané oblasti. Ťuknutím či držením tlačítka 3 můžeme měnit začátek nebo konec vybrané oblasti a k vybranému textu přidávat nebo z něj ubírat. Tlačítkem 2 vybraný text vložíme do okna, do kterého ukazuje ukazatel. Text se vloží tam, kde svítí kurzor (tj. na místo, odkud je spuštěna operace čtení z klávesnice).

a podporu této vlastnosti disponuje X Window odkládací plochou, kterou můžeme použít na sestavování větších nebo více celků a jejich opakované či pozdější použití. Tuto plochu získáme po spuštění aplikace xclipboard.

Chování a vzhled okna xtermu můžeme nastavovat pomocí tří různých nabídek. Nabídky získáme tak, že stiskneme klávesu Ctrl a jedno z tlačítek myši, když ukazovátko ukazuje do okna xtermu. Pod kombinací s tlačítkem 1 je nabídka Main Options (kterou asi ani nepoužijeme), tlačítko 2 vyvolá VT Options pro nastavování chování emulace terminálu VT a pod tlačítkem 3 je schována nabídka VT Fonts pro nastavování velikostí (nebo typů) písma.

Z xtermu spustíme aplikaci tak, jak pod UNIXem spouštíme kterýkoli jiný program, takže zapíšeme do okna xtermu např. tyto příkazy:

cd /usr/X11/bin
ls -C|more
./xcalc &

Aplikace z xtermu spouštíme bez čekání na jejich dokončení, tj. jako poslední znak na řádku zadáme '&'. Pokud aplikaci spustíme s čekáním na dokončení, bude nám každá aplikace blokovat jeden xterm, i když jej ke své činnosti nepotřebuje, protože běží ve vlastním okně. Další xterm si spustíme z libovolného xtermu příkazem 'xterm&'. Zde je na místě upozornit uživatele (zvláště ty, co mají velké obrazovky), aby ukončovali aplikace, které již nepotřebují. Stává se totiž, že uživatel vrství okna na sebe podle momentální potřeby a za chvíli zapomíná, co vše má "schováno dole". Každý uživatel by si měl být vědom toho, že zpravidla za každým oknem se skrývá proces, který blokuje kus paměti, kus místa na disku a část výkonu procesoru (a to vše, i když okno-proces třeba týden nepoužil). Navíc může být taková nepořádnost nebezpečná pro uživatelské soubory, např. když se edituje dvakrát jeden soubor nebo jeho stará verze.

K většině aplikací v X Window Systému jsou k dispozici manuálové stránky tak, jako k jiným programům v systému. Proto v xtermu můžeme zadat např. příkaz 'man xcalc' a obdržíme podrobnou nápovědu k aplikaci xcalc. X Window pro své prostředí nabízí aplikaci xman. V okně 'xman' ukážeme na Manual Page a ťukneme na tlačítko 1. V okně 'Manual Page' ukážeme na Sections a stisknutým tlačítkem 1 vybereme sekci (kolekci manuálových stránek na dané téma). Potom už ukazujeme na hesla, pod kterými jsou skryty manuálové stránky, a ťuknutím na tlačítko 1 si necháváme vypisovat jednotlivé nápovědy.

Aplikace X11 si dovolím rozdělit do několika skupin podle jejich zaměření. Už jsem se zmínil o aplikacích xterm, xclipboard a xman. Ty již ponechám stranou.

Demonstrační aplikace

Ty asi zajímají uživatele začátečníka nejvíce. Takže zde je jejich přehled:

Správa oken

Do další skupiny zařadíme aplikace určené ke spravování oken.

Elektronická pošta v X

V článku jsem uvedl pouze některé aplikace X Window Systému. Vedle aplikací dodávaných jako součást X je k dispozici řada programů, které vznikly mimo MIT. Uveďme např. xv pro manipulaci s obrázky v různých grafických formátech, prohlížeče souborů v PostScriptu ghostview a gs, xdvi pro prohlížení souborů DVI jako produktů překladu TeXu a editor (přesněji kompletní pracovní prostředí) emacs.

setting
1 na nějž má naše univerzita zakoupenu licenci
... zpět do textu
Zpět na začátek
ÚVT MU, poslední změna 14.11.2011