Hlavní navigace

X window systém pro malou kancelář

Michael Polák

Logickým krokem při prosazování operačního systému Linux je jeho (alespoň experimentální) nasazení do "kancelářského", či jiného silně zasíťovaného prostředí (například do internetové kavárny)...

… kde ho budou mít možnost – v horším případě povinnost ;-) – používat i zcela nezasvěcení uživatelé, obeznámení – v horším případě ;-) – maximálně tak s prostředím Windows. Jediným schůdným řešením je nabídnout jim práci v systému X11, a v následujících řádcích se zaměřím na dvě kritická témata: reprezentativní přihlášení do sítě a bezproblémový český tisk.

Současné distribuce Linuxu (např. RedHat 6.x) už nabízí automatický start X11 včetně grafického přihlašovacího promptu (tzv. X Display Manageru) v rámci instalace, a počeštěné verze Linuxu vycházejí vstříc nám neschopným a jsou dodávány s předinstalovanou českou klávesnicí pro X11 (přepíná se pomocí obou Shiftů nebo pomocí klávesy Scroll Lock; kontrolka Scroll Lock také slouží jako vtipný indikátor české klávesnice). Řadu dalších aplikací pro X11 lze nyní „počeštit“ klikáním myší po konfiguračních obrazovkách – např. lze nastavit správné fonty v Netscape Communicatoru, klávesnici a kódování dokumentu v „dokumentovém procesoru“ LyX, apod. Nebudu zde řešit věčné rozpory „hackerů“ s „lamery“ jestli je to dobře, a pokusím se nastínit řešení dvou problémů při zřizování X window sítě, které (prozatím) pouhým klikáním myší řešit nelze.

Jak na XDM, KDM či GDM

XDM znamená X display manager a je to prima věc. Umožní vám ve vaší lokální síti pracovat stylem, který je ve světě Unixu a X window systému běžný už 15 let, ale ke kterému Microsoftem ovládaný svět PC dospěje až někdy ve verzi Windows 2005.

O co vlastně jde: není přece žádná věda dosáhnout toho, aby na vašem PC po spuštění Linuxu naběhly X11 automaticky, místo textového promptu. Je to otázka toho, pohrát si s runlevely v souboru /etc/inittab (tradice stanoví, že textová konzole = runlevel 3, X11 = runlevel 5; to ovšem neznamená, že příkaz „startx“, na který jste asi zvyklí, změní runlevel; naopak, při správné konfiguraci systému bude „init 5“ – téměř ;-) ekvivalentní příkazu „startx“). Novější distribuce nabízí autostart X11 v rámci instalace, tak se tímto tématem už nebudeme dále zabývat.

Prvním „trikem“ je vnucení hezčího Display Manageru, než je ten původní /usr/X11/bin/xdm. V RedHatu 6.0 se rozhodli, že místo něj se bude spouštět symbolický odkaz /etc/X11/prefdm, což je docela příjemné: tento odkaz implicitně ukazuje na /usr/bin/gdm (GNOME Display manager), který je sice moc pěkný, ale já zde doporučím spíš /usr/bin/kdm (KDE Display manager) – ne proto, abych rozdmýchával válku GNOME vs. KDE, ale protože jsem se u něj nesetkal s problémy při síťovém přihlašování, a protože si ho z rootovského KDE menu můžete pohodlně nakonfigurovat – doporučuju zejména povolit grafické zobrazení seznamu uživatelů v systému, něco takového jsem v M$ Windows myslím ještě neviděl ;-) BTW: v GDM i v KDM si můžete vybrat mezi typem session GNOME nebo KDE – takže volbou Display Manageru své uživatele k ničemu „nezavazujete“.

Konfigurace X11 sítě je jednoduchá. Pro větší přehlednost budu používat názvosloví „terminálový server“ a „X terminál“ – jako X server se totiž označuje to, čemu se ve Windows říká „ovladač obrazovky“, a X klienty jsou všechny aplikace pro X11, které navíc navíc mohou být spuštěny na úplně jiném počítači v síti.

Nyní se zamyslíme nad tím, jakou architekturu pro naší X11 síť použijeme. Jednou z možností je ponechat uživatelům k dispozici výkon lokálního CPU i lokální paměť, a spokojit se s NFS mountem vybraných adresářů a souborů – například /home/ nebo /etc/passwd. Možné to je, ale v dnešní době to není to nejlepší řešení. Počítačů, na kterých X11 i s některým z desktopů poběží opravdu hladce, se přeci jen ještě tolik nepotuluje; na druhou stranu, terminálový server v konfiguraci AMD K6-II 350 MHz (nebo lepší), 128 MB paměti a 10 GB hard disk bez problémů obslouží tři X11 terminály (vyzkoušeno), a přitom vyjde levněji, než dvě typická „kancelářská“ PC (tzn. nepatrně rychlejší procesor, o hodně méně paměti, o hodně menší disk). Jako X Terminály lze v nouzi použít i počítače 386/486, ale pokud máte k dispozici „zastaralé“ stroje s taktovací frekvencí 100–200 MHz a 16–32 MB paměti, budete překvapeni, že i na 10 megabitovém Ethernetu podají jako X terminály lepší výkon, než když X11 aplikace budete spouštět přímo na nich. Nevýhodou je obtížné využití zařízení, jako je lokální disketa, CD-ROM nebo zvuková karta. Výhodou je naopak automatické sdílení disku, tiskárny a nakonfigurovaných aplikací.

Na terminálovém serveru zkrátka zvolíme start některého X Display Manageru po startu počítače. V /etc/hosts.allow musíme navíc povolit protokol gdm pro vlastní doménu. (řádka gdm: *.doména.cz). To platí pro RedHat 6.0, starší Linuxy tento protokol pravděpodobně neznají. Paradoxně GDM, tak jak je předkonfigurované, své služby po síti nabízet nezačne. XDM a KDM ano.

Na X-terminálech je místo lokálního X11 potřeba spustit příkazem „X -query server“ vzdálenou X session. Lokální X11 mohou být přitom pořád dostupné – nejlepší je spouštět je v nějakém skriptu jako první (takže obsadí sedmou konzoli, Ctrl+Alt+F7) a potom teprve spustit „X -query server :1“, takže vzdálené X11 budou dostupné přes Ctrl+Alt+F8, a zároveň zůstanou po startu systému na obrazovce. Občas je potřeba mezi start obou sessions zadat příkaz sleep (dochází zřejmě k tzv „race conditions“ při zamykání grafické konzole).

To je všechno – nyní všichni uživatelé vaší sítě mohou pracovat na nejvýkonnějším počítači, od kterého navíc doporučuju odpojit klávesnici a monitor – nejčastější příčinou pádu Linuxového serveru totiž bývá právě provoz lokálního X window systému. Výkon systému postačuje pro běžnou kancelářskou práci několika uživatelů a pro WWW browsení, multimediální aplikace bývají omezeny rychlostí Ethernetové sítě.

Příště se podíváme na slíbenou češtinu v tisku.

Našli jste v článku chybu?