Linuxové noviny | 10/98 | |||
| ||||
X Window System je nejpoužívanější z několika systémů umožňujících UNIXům i jiným systémům pracovat v grafickém módu, tedy v situacích, kdy už nestačí textový terminál. Tento systém byl navržen v polovině osmdesátých let na Massachusetts Institute of Technology jako velmi modulární. Při normální práci s X účinkují až čtyři části: X Server, který vše vykresluje a "poslouchá" myš a klávesnici; Toolkit, pomocí něhož program používá prvky jako tlačítka, inputboxy, scrollbary atd.; vlastní program; a nakonec window manager. Ten je tu od toho, aby se snáze pracovalo s více okny/programy. Window manager (dále jen zkráceně WM) dá vašemu oknu rámečky, umožní vám oknem pohnout, zmenšit ho do ikonky nebo ho násilně zavřít. WM taky řídí, které okno dostává události z klávesnice či myši. Když je nějaké okno překryto jiným, může je WM na požádání "zvednout". Některé WM dokonce umožní mít pracovní plochu větší než obrazovku, nebo i víc ploch, mezi nimiž je pak možno přepínat. Na stránce http://www.plig.org/~xwinman je uvedena spousta window managerů se screenshoty a krátkým popisem, často i s odkazem na oficiální stránku věnovanou danému WM. Z této stránky vychází i můj seznam, vyloučil jsem ty, které bych si musel koupit nebo se mi je na mém počítači nepodařilo z různých důvodů rozjet. Bohužel zrovna v době, kdy tyto řádky píšu, je tato stránka mimo provoz, má to být však jen do dvanáctého října, takže když se můj text dostal až k Vám, měla by být funkční, možná dokonce vylepšená. Další zajímavou stránku jsem objevil až při psaní tohoto textu, je to http://themes.org, a určitě stojí za shlédnutí. Je to centrum sdružující tzv. themes pro různé WM. Themes jsou soubory obrázků a konfiguračních souborů, které do různé míry mění chování a vzhled WM. WM se dají posuzovat podle několika různých kriterií. Jako ta nejdůležitější mne napadají: vzhled, náročnost na zdroje, snadnost instalace a možnosti konfigurace. Někdo by mohl ještě namítnout rychlost, ale ta je již dnes na většině strojů takřka vždy dostatečná. Když budu dále uvádět nároky na paměť, je nutno je brát jen jako orientační, protože části této paměti mohou být sdíleny, například mezi jednotlivými moduly WM, pak dohromady zabírají méně paměti, než tvrdí součet hodnot z ps. Teď už se ale začnu zabývat jednotlivými window managery zvlášť.
Tab Window Manager (twm) a Virtual Tab Window Manager (vtwm)Twm se dodává přímo s distribucí XFree86, proto jím začínám. Vtwm je rozšíření twm o tzv. virtuální desktopy, jinak se neliší, takže je popíšu dohromady. Vzhled je dobře vidět na kopiích obrazovky. V dodané konfiguraci okna dostanou jen jednoduchý titlebar s dvěma tlačítky, vtwm oknům neposkytuje aktivní okraje. Menu jsou jednoduchá, vnořená podmenu se chovají trochu jinak, než je zvyk například z Motifu a Windows.
Ovšem když si člověk pořádně pročte manuálovou stránku čítající 41 stran, jak je formátuje man, doví se o hromadě nastavení, kterými si může zpříjemnit prostředí. Dá se například zkrátit titlebar, umístit kdekoli na vršku okna, dále můžete mít pestrobarevná až duhová menu apod. Okna se dají ikonifikovat, to je normální, dá se i vypnout zobrazování některých ikon, taková okna jsou pak vidět jen v takzvaném icon manageru, odkud se dají obnovit. Vůbec mnoho nastavení (v)twm se děje na seznamu oken, kterých se to týká, takže se některá okna mohou chovat úplně jinak, než jiná. Protože vtwm je první "virtual" WM, který popisuji, zmíním se zde, co to "virtual" znamená. Uživatelům počítačů, zvláště těm aktivnějším, často nestačí plocha jejich obrazovky pro všechna jejich okna. Nebo mají programy s opravdu velkými okny. Pak může nastat problém, kam s okny. Virtual window managery vám nabízejí zvětšení pracovní plochy tak, že vlastní plocha viditelná na monitoru je pak jen výřez skutečnosti. Toto dělají jiným způsobem než X server, který k podobnému efektu používá paměť videokarty a je jí omezen. WM jen větší plochu simuluje, což v X window systému lze bez problémů, a veliký "virtual desktop" nezabírá víc paměti než malý. Tímto jsem se dostal k náročnosti na paměť. Twm a vtwm jsou na tom docela dobře, oba si rezervovaly asi 2.5MB a používaly kolem 1.3MB. Nakonec popíšu instalaci. V balíku jsem krátce hledal postup instalace, ale zůstal mi skryt, takže jsem z přítomnosti souboru Imakefile usoudil, že bude fungovat sekvence
xmkmf -a; make a uhodl jsem. Po krátké kompilaci jsem dostal spustitelný soubor vtwm. Twm, jak už jsem psal, jsem dostal zkompilovaný v instalaci X. Vtwm možná ještě potřebuje make install, protože mě se to poprvé nepodařilo spustit přímo zadáním cesty, po chvilce pátrání jsem zjistil, že se snaží načíst konfigurační soubor ze standardního vstupu, takže nyní mám v souboru .xinitrc příkaz
/cesta/k/vtwm < /.vtwmrc To by krátce o (v)twm stačilo, můj závěr je, že rozhodně stojí za povšimnutí těm, kdo chtějí funkčnost a velké možnosti nastavení. Nenašel jsem v nich ovšem žádné jedinečné vlastnosti. Můžete se také podívat na domovskou stránku vtwm http://www.visi.com/~hawkeyd/vtwm.html.
Generic Window Manager (gwm)Tento WM je postavený na jazyku WOOL, Window Object Oriented LISP, kterým se dá rozšiřovat. Jeho základní nastavení je podivné, ba nehezké, ale posuďte sami. Ale v balíku je dostatek nastavení jiných, emulujících kupříkladu twm nebo mwm (Motif Window Manager). Emulace jsou to zdařilé, což hovoří ve prospěch jazyka WOOL. Také to ovšem ukazuje, že gwm není určen pro uživatele neprogramátory, leda by nechtěli nijak chování svého WM měnit.
I gwm, ač nemá v názvu virtual, umožňuje použití virtuální obrazovky. Na rozdíl od jiných WM má tato plocha, alespoň ve standardním nastavení, dynamickou velikost. Když chcete použít část mimo dosavadní plochu, tak se tato prostě zvětší, zároveň se zmenší rámečky znázorňující existující okna a viditelný výřez. Paměťové nároky má gwm také překvapivě nízké (na to, že musí obsahovat interpret jazyka WOOL), jen o trochu vyšší než twm. Instalace je rovněž jednoduchá, přesně podle souboru INSTALL se bez jediného zádrhele podařila. Gwm obsahuje jen krátkou manuálovou stránku, která popisuje principy a parametry pro spouštění. Pro hlubší poznání gwm odkazuje na stostránkový manuál v PostScriptu nebo v TeXu. Domovská stránka gwm má adresu http://www.inria.fr/koala/gwm. Závěr: Kdo má dost času, má rád funkcionální jazyky a chce se naučit WOOL, bude za svou námahu jistě odměněn dokonalým window managerem přesně podle svých představ.
WindowMakerToto je jeden z několika WM, které emulují vzhled NextStepu. Je to dosti osobitý vzhled a plně chápu, jak mu někdo může propadnout. Není ovšem úplně nejvhodnější takovýto WM používat s osmibitovou barevnou hloubkou, tedy pokud máte jen 256 barev. To prostě nestačí, jak je vidět i na screenshotu.
NextStepovské rozhraní je velmi propracované, WindowMaker opravdu vypadá a chová se dobře. Ve WindowMakeru jsem si všiml několika hezkých možností, které nejsou obvyklé. První je tzv. přilepovací menu: když otevřete na ploše nějaké menu a pak kliknete na jeho záhlaví, objeví se v onom záhlaví zavírací tlačítko a menu vydrží otevřené i poté, co si z něj vyberete. To je vhodné pro menu, která se často používají. Druhá neobvyklá možnost je zasunutí okna do jeho titlebaru, jakoby srolování, což se hodí, když ono okno něco překrývá a vy se ho chcete rychle zbavit, ale aby se dalo zase snadno obnovit. Když tedy dvojitě kliknete na titlebar, okno se sroluje, další dvojklik ho vyroluje zpět. Mě osobně se toto velice líbí. Další věc hodná povšimnutí je "dok", soubor ikonek po straně obrazovky, které spouštějí aplikace, a pokud tyto už jsou spuštěné, pak jejich okno aktivují. Zajímavé a jistě užitečné. Podobně jako dok vypadá ikonka aktuální plochy; virtuální obrazovky se vytvářejí také dynamicky, ale jsou nezávislé, tzv. virtuální desktopy. To znamená, že okno nemůže přesahovat z jednoho do druhého, jak je tomu v případě virtuální plochy. WindowMaker se konfiguruje přes soubory v adresáři /GNUstep a zdá se, že neumožňuje sice ani zdaleka tolik, co kupříkladu twm, ale to vyvažuje svou promyšleností převzatou od NextStepu, a tak uživatele ani nenapadne, že by chtěl něco měnit. :-) Některé aspekty se dají měnit za běhu přímo z menu základního nastavení, kupříkladu tzv. Styles a Themes, to jsou v podstatě definice vzhledu. Při testování jsem využil možnosti přilepit si menu Styles na plochu a pak jsem z něj vybíral jeden styl po druhém a mohl jsem si snadno a rychle zvolit ten, který se mi nejvíc líbil. Několik věcí se mi na WindowMakeru nelíbilo: za prvé ta barevná nenasytnost, ale kdo ještě používá 256ti barevné módy, že? A druhá věc je to, že si WindowMaker nebo jeho toolkit neporadil s dlouhými menu, která se nevejdou na obrazovku. Ke spodním položkám jsem se prostě nedostal. A i když je menu v podstatě krátké, ale k jeho otevření dojde blízko dolního okraje obrazovky, bude prostě přečuhovat a musí být trochu povytaženo. Dále by možná mohla být konfigurace uložena v nějakém jiném adresáři, než je GNUstep, třebas .GNUstep, podle vzoru .mc, aby nebyla tak nápadná v domovském adresáři. To je ale společný nedostatek několika GNU projektů. Paměťová náročnost u WindowMakeru je taky nízká, chce jen o několik set kilobajtů více než twm. Instalace taktéž probíhá bez problémů. Domovská stránka je na adrese http://www.windowmaker.org.
AfterStepToto je, jak už napovídá název, další WM emulující NextStep. Musím ale říci, že se mu to nedaří tak dobře jako WindowMakeru. Protože jsou přesto oba velmi podobné, popíšu jen rozdíly.
AfterStep se znatelně lépe snáší s osmibitovou hloubkou barev; má jiný styl virtuálních ploch, převzatý od fvwm, o kterém ještě bude řeč a z něhož AfterStep vychází, díky tomu může mít každá plocha jiný podklad; okna mají více tlačítek v titlebaru; nedají se přilepit menu na plochu, zato se patřičně posunou, když se mají otevřít mimo obrazovku. Špatně je na tom AfterStep i s paměťovou náročností, protože používá tzv. moduly, o kterých bude ještě řeč v souvislosti s fvwm, a s těmito dohromady si rezervuje asi 6MB a používá asi 2.5MB paměti. Tento WM jsem instaloval pomocí rpm, takže jsem nemusel nic kompilovat. Jediný zádrhel, na který jsem narazil, bylo to, že jsem musel sám zkopírovat adresář /usr/share/afterstep/GNUstep do svého domovského adresáře, a nebyl jsem na to nikde upozorněn. Bez toho se mi AfterStep nespustil. Stránka AfterStepu je na adrese http://www.afterstep.org.
F? Virtual Window Manager (fvwm, fvwm2, fvwm95)Fvwm vychází z twm, ale podstatně se od něj liší. Fvwm2 je pokračovatel, fvwm95 se odštěpil od fvwm2. Já osobně používám fvwm a později fvwm95 už léta, takže tyto WM znám nejlépe. Fvwm popisovat nebudu, protože oba nástupci jsou o dost lepší a propracovanější, a tak není důvod se k staré verzi vracet. Nejprve tedy popíšu fvwm2, potom uvedu změny, které jsou ve fvwm95.Když ponecháte základní nastavení, je vzhled spíše strohý, ale funkční. Ale ve fvwm2 se dá hodně měnit, vlastně se dá změnit skoro vše. Veškerá nastavení jsou v souboru /.fvwm2rc, ale v jeho rámci se dají načítat i jiné soubory, pokud by někdo chtěl mít konfiguraci rozdělenou. Dokonce se dají příkazy fvwm2 převzít i z výstupu programů. Fvwm nedělá rozdíl mezi vestavěnými příkazy a konfiguračními proměnnými, jak je to u twm. To znamená, že fvwm může být za běhu překonfigurováno, pomocí modulu FvwmTalk dokonce interaktivně. Hlavní je, že konfigurační soubor je velmi srozumitelný a i manuálová stránka je povedená. Instalace a kompilace se zase řídí souborem INSTALL, který je velmi srozumitelný. Tento návod na začátku doporučuje projít si některé konfigurační soubory a tam nastavit, co si přejete, což možná někteří nebudou chtít udělat, implicitní nastavení je však vyhovující. Na fvwm jsou, podobně jako u AfterStepu, který z fvwm vlastně vychází, špatné paměťové nároky, protože ač samotný WM toho moc nechce, moduly, které používá, vyženou požadavky na 2.8MB použité a 6.8MB rezervované paměti. Pak mi přijde trošku ironická věta v README, že fvwm bylo vyvíjeno tak, aby mělo malou spotřebu paměti. Fvwm95 se odštěpilo od fvwm 2.0.41. Původně to byla jen úprava vzhledu a chování tak, aby připomínalo co nejvíce Win 95, později byl měněn i kód a hlavní změnou bylo předělání TaskBaru. Ten v nejnovější verzi podporuje takové ty malé ikonky vedle času. Existuje na to několik podmodulů, které si TaskBar nahrává při startu, a které můžou dělat různé věci, jako právě zobrazení hodin v požadovaném formátu, oznamování příchozí pošty apod.
Další změnou oproti fvwm2 je i to, že byla přidána možnost mít obrázek na kraji menu, takové to Linux95 na screenshotu. Ve fvwm95 je také standardně využito možnosti fvwm2 přiřadit oknům malé ikonky a ty pak zobrazit v titlebaru jako tlačítko vyvolávající menu. Tyhle ikonky zobrazuje i TaskBar. Poslední změnou je to, že se konfigurační soubor jmenuje logicky .fvwm95rc. Nevýhodou fvwm95 je to, že už dlouho nebyla uvedena nějaká další verze a vypadá to, že se vývoj zastavil na verzi 2.0.43a. Domovské stránky jsou http://www.hpc.uh.edu/fvwm/ a http://www.terraware.net/ftp/pub/Mirrors/FVWM95/fvwm95.html pro fvwm95. Pro pobavení uvádím výtažek z FAQ - viz Výtah z FAQ Fvwm.
K Desktop Environment a K Window Manager (KDE, KWM)KDE je nejen WM, to je celé prostředí obsahující například filemanager a WWW browser (v jednom :-)). Nesnaží se něco napodobovat, jde svou cestou a někdy používá dobré nápady z jiných systémů. Je to doopravdy moderní systém, zatím ale není úplně dodělaný a má své vývojové mouchy.Přestože KDE samotné rozlišuje KWM jako samostatnou část, popíšu krátce celý tento systém, protože spouštět jen kwm je neopodstatněné a může být i nebezpečné (nemohl jsem se dostat z X...). Vzhled oken pod KWM trošku připomíná OS/2 (blahé paměti) a je docela intuitivní. KDE celé umožňuje dávat si na plochu ikonky adresářů a souborů a zkratky na programy, k dispozici je lišta nástrojů a spuštěných úloh, vše je konfigurovatelné přímo v grafickém prostředí. Mně trochu chybí možnost nastavit milión věcí v textovém konfiguračním souboru, kde je vše pod kontrolou, KDE má konfiguraci v souboru /.kderc a v adresáři /.kde a jeho konfigurační soubory mají styl windowských .ini souborů, nenašel jsem možnosti skriptování a dalších vymožeností z fvwm*.
KDE jsem instaloval z balíků RPM a tato instalace byla bez problémů. Pamětí KDE nešetří, programy, které se spustí po příkazu startkde, si vyhradí asi 43MB a používají 21MB. Právě tady jsem si uvědomil, že jsou tyto údaje jen orientační, protože free vypisuje, že je použito dohromady jen 14MB. Ale i orientační údaje mají jistou vypovídací hodnotu. Domovská stránka KDE je na adrese http://www.kde.org. Kdo má dostatek paměti (32MB RAM stačí pro vyzkoušení), tomu KDE zkusit doporučím, protože to stojí za to. Pokud už tedy tento systém nepoužíváte.
Enlightenment (E)Tento a následující dva WM jsou takové lahůdky, jsou trošičku extravagantní nebo exotické. Enlightenment je zatím ve vývoji, já mám jeho třináctou vývojovou verzi. Už existuje čtrnáctá, která má být hodně přepsaná a zlepšená. Tenhle WM je jediný mi známý, který má inicializační obrazovku, kterou ukáže při startu. Hodně používá neobdélníková (tzv. shaped) okna, proto potřebuje rychlou grafiku. Hodně používá barevné obrázky, proto pro něj není vhodných 256 barev. Nastavit se v tomto WM dá asi úplně všechno, to je jeden ze záměrů tvůrců. Neřekl bych zatím, že je to WM, ve kterém se dá pracovat, ale pro chvíle volna je dokonalý.
Vzhled záleží na tzv. tématu, tyto themes se dodávají jako zatarovaný balík konfiguračních souborů a obrázků. Standardní dodávaný s verzí 13 je takový, že by se v něm nestyděl pracovat filmový hacker v přítmí svého pokoje ani v roce 2200. Rozhraní tedy není moc promyšlené, úsporné či intuitivní, ale je efektní. Instalace vyžaduje množství knihoven, které se ale dají sehnat na stejných místech, jako samotný E. Spotřeba paměti je u této verze značná, jediný spouštěný program si rezervuje 7.2MB a používá 6MB paměti, tady nejsou moc velké šance na sdílení částí paměti, takže dohromady je to asi nejvíce paměťově náročný WM. To se možná změní v dalších verzích. Hlavní myšlenka uvedená na domovské stránce E http://www.enlightenment.org je "Time to rethink everything!" a Enlightenment je opravdu od základů jiný. Budu pozorně sledovat další vývoj, protože E má budoucnost.
AmiWMAmiga ještě neumřela. Možná si někteří z vás vzpomenou na ve své době přelomový a skvělý počítač Amiga. Někteří jeden třeba i vlastní. Amiga měla už na začátku osmdesátých let grafické rozhraní, poměrně propracované a se zajímavými možnostmi. Toto grafické rozhraní je imitováno právě v AmiWM.
Vzhled oken a systémových menu je trošku spartánský, ovládání pro nás neamigisty maličko nestandardní, ale AmiWM přece není pro nás, že. Na tomto WM mě nejvíce zaujalo pojetí více desktopů, které nejsou vedle sebe ani úplně oddělené, ony jsou nad sebou. Dají se přepínat tlačítkem v pravém horním rohu obrazovky, ale taky se dají chycením a tažením vrchní lišty přesouvat nad sebou. Pod poslední plochou pak je "root window". Nastavení se děje v souboru .amiwmrc a podle krátké manuálové stránky možností není mnoho. Malá je ovšem taky spotřeba paměti, 1.1MB použité a 2.2MB vyhrazené. Instalace je tradiční sekvence ./configure; make; make install, jak to uvedeno v souboru INSTALL, a je bezproblémová.
WM2Tento WM je postaven tak, aby byl co nejjednodušší a stále dostatečně funkční. Jeho vzhled je hezký, viz screenshot. Poskytuje možnosti pohybování okny, jejich ukrývání a zavírání a přepínání mezi nimi. V paměti zabírá logicky nejméně, a to 800KB z vyhražených 2MB. Instalace je popsána v souboru README, já jsem pro zkompilování potřeboval nahradit v souboru Makefile řetězec /usr/X11 za /usr/X11R6, žádné další problémy jsem nenašel. Konfigurovat se WM2 dá jen úpravou zdrojových souborů a překompilováním.
Domovská stránka WM2 je na adrese http://123.org/wm2.
ZávěrJeště existují další WM, jako např. mwm (Motif Window Manager), CDE (Common Desktop Environment) apod., které jsou komerční, proto jsem je netestoval, a dále bych na serverech (kupříkladu ftp://ftp.linux.cz/pub/linux/X11/window-managers) našel ještě další free WM, ale některé se mi nepodařilo spustit (ctwm, olvwm), o jiných jsem nevěděl dostatečně dlouho před uzávěrkou (blackbox, bowman, icewm, xfce, qvwm, scwm). Možná se k nim ještě dostanu a pokud některý z nich shledám hodně dobrým, bude dodatečně popsán.
Úplný závěrNěkteří tvrdí, že koncepce window managerů je zbytečná a matoucí a že produkuje nekompatibility, jiným vyhovuje možnost vybrat si. A protože tu window managery máme, prostě si vybrat musíme, takže: vyberte si. Doufám, že tento článek vám v tom pomůže. |