A Linux és a desktop
Sokaknak, főleg a Linuxszal ismerkedőknek, zavaros és kusza lehet a sokat hallott GNOME, KDE, X és egyéb állatok szerepe. Ezek funkcióját és működését próbáljuk kicsit tisztázni ebben a cikkben.
A Linux, hívei örömére, régen kinőtte már a szöveges konzol korlátait, és az utóbbi időben - de csak az utóbbi pár évben, a Win95 elterjedésével - követelménnyé vált grafikus elvárásoknak is meg tud felelni. Teszi mindezt sokkal jobb képességekkel és konfigurálhatósággal, mint "vetélytársa", azonban a nagyobb funkcionalitás bonyolultabb felépítést von maga után. A vetélytárs szándékosan van idézőjelben, hiszen nemrég még korántsem volt egyértelmű, hogy ugyanazon kategóriában versenyzik-e a Linux és a Windows.
Ahogy a Linux a munkaállomások felé nyitott, a Microsoft is elkezdett a szerverpiac felé kacsintgatni, azonban mindkét oldalnak problémái támadtak az operációs rendszer eredetileg másra tervezett felépítése miatt. Míg a Windows nem volt más, mint egy grafikus interface a tolókocsis képességű DOS-hoz, addig a Linux egy absztrakt, hierarchikus modellbe épített, bonyolult környezetet kínált a felhasználónak, amely azonban pontosan a réteges felépítése miatt küzdött és küzd, hogy lépést tartson a játékok és komolyabb grafikus alkalmazások igényeivel. Noha a Linux útjából mostanra már elhárultak ezek az akadályok, hasznos megérteni a desktop működését.
Szerencsére nem kellett nulláról indulniuk a fejlesztőknek: 1983-1984-ben, a Massachusetts Institute of Technology által kidolgozott kommunikációs felület, az elsősorban Unixokon futó, de platformfüggetlen X Window System itt is remekül bevált. A szabványos módon (ún. X protokoll segítségével) kommunikáló szerver-kliens-felépítés lehetővé teszi az alkalmazás és a kezelői felület szétválasztását, azonban a szerver és a kliens szerepe itt némiképp más, mint a hagyományos értelemben: a szerver (az X szerver) a felhasználó számítógépén fut, ott kezeli a hardvert, míg a kliensek (alkalmazások) tetszőleges gépen lehetnek. Lehetőség van a szervert is - hálózaton keresztül - másik gépen indítani, azonban a grafikus megjelenítő mindenképpen helyben fut. A legegyszerűbb esetben, amikor például egy frissen telepített Linux elé leülünk, a grafikus felület indításakor az X szerver és az alkalmazások a helyi gépen futnak - továbbra is a protokoll segítségével kommunikálva -, azonban néhány plusz lehetőséget is kapnak, mint például az osztott memóriaterület (shared memory) használatát, amely sok grafikusan intenzív program futását jelentősen felgyorsítja.
[oldal:A magasabb szintű programok]
Egy futó X szerver önmagában még csak a vegetatív funkciókat látja el: meghajtja a videokártyát, kezeli a billentyűzetet és az egeret. Az alkalmazások már megnyithatják az ablakukat a képernyőre, de a szerver önmagában nem nyújt támogatást ezek mozgatásához vagy átméretezéséhez. Ez a window manager feladata, amely saját dekorációjával - ezek az X szerver számára szintén ablakok - körülpakolja az alkalmazás ablakát. Mivel az ablakkezelő az alkalmazásoktól függetlenül fut, a Windows-ban jól ismert, felettébb kellemetlen effektus itt nem fordul elő, nevezetesen, hogy amikor egy program kiakad vagy megáll erősen gondolkodni, akkor az ablakot sem tudjuk odébb tenni.
A GNOME (GNU Network Object Model Environment) és a KDE (K Desktop Environment) két, párhuzamosan fejlesztett, konkurrens grafikus felhasználói környezet, amely az X szerver tetején ülve statusbar-t, menüket, ikonokat, gombokat stb. ad a felhasználónak, természetesen maximálisan testreszabható formában. Mindkét programhoz tartoznak saját, félig belső alkalmazások, amelyek a KDE vagy GNOME csomaghoz tartoznak, és a környezet saját widget-eit használják. A widget a window gadget (ablak-mütyűrkék) összevonásával keletkezett, ez az az építőelem-készlet, amellyel fel lehet építeni egy program felhasználói kezelőfelületét. A widget elemei között találhatók a gombok (pl. OK/Cancel), menük (pl. File/Options), beviteli szövegmezők és hasonlók. A GNOME widget-je a Gtk (GIMP Tool Kit), amelyet eredetileg a GIMP (ugye senkinek sem kell bemutatni, ebben a cikkben írtunk róla) programhoz terveztek, de kezelhetősége és tudása révén nagyon elterjedt lett, és ma már a programok széles skálája használja, gyakorlatilag minden linuxos munkaállomáson megtalálható. A KDE a Qt-t használja.
Hogy GNOME-ot vagy KDE-t választunk, az ízlés dolga, érdemes mindkettőt telepíteni, kipróbálni, és azután dönteni. Két példa ízelítőül (természetesen teljesen máshogy nézhetnek/néznek ki más beállításokkal):
GNOME | KDE |