Jádro systému
Nejzákladnější systém je složen z negrafických komponent. V první řadě je to jádro – tedy vlastní Linux a jeho moduly. Jádro se stará o správu základního hardwaru – o obsluhu disků a práci se systémem souborů, správu paměti, nastavení sběrnic, zobrazování na konzolích, čtení z klávesnice a další. Při startu počítače jádro inicializuje hardware a pak předá řízení operačnímu systému.
Operační systém
Zatímco jádro spravuje hardware, operační systém se stará o software. Jednoduše řečeno, jádro se postará o to, aby bylo možné zobrazovat na konzoli a psát na klávesnici, a operační systém zajistí, že po stisknutí klávesy počítač zareaguje. Základní operační systém tvoří většinou nástroje z projektu GNU. Proto se také linuxové systémy často nazývají GNU-Linux.
Grafický systém
Protože chceme psát o linuxovém desktopu (stolním pracovním prostředí s grafickým rozhraním), bude nás zajímat především grafická část systému. I ta se v Linuxu skládá z mnoha vrstev. V našem seriálu si je postupně přiblížíme. Představa oddělených vrstev je poněkud idealizovaná – mnoho programů zastane funkci několika vrstev současně, jiné pro funkce jediné vrstvy používají více oddělených programů.
Základní grafický systém / X Window System
X Window System (někdy také jen X nebo X-WindowS) je jakýmsi jádrem grafického systému. Skládá se z X serveru a knihoven pro práci s ním.
X server je většinou jediná část grafického systému, které je povolen přímý přístup ke grafické kartě, a také jediná část systému, která potřebuje informace o konkrétní grafické kartě (tedy ovladač – pokud nepoužívá ovladač z jádra – framebuffer).
V linuxovém prostředí se nejčastějí používají X servery z projektu XFree86.
X server se stará o vykreslování obrazu, překrývání oken, odchytávání stisknutých kláves a mapování klávesnice, sledování pohybu myši i pohyb ukazatele, obsluhu tabletů atd.
Je síťově transparentní – to znamená, že komunikace s X serverem může probíhat nejen lokálně na jediném počítači, ale i vzdáleně přes síť. Programy tedy mohou běžet na jednom počítači, ale zobrazování probíhá na jiném.
Ve své pozici základního grafického systém má X téměř výsadní postavení. Alternativní systémy se buď snaží nabídnout odlehčené rozhraní kompatibilní s X (ať už na úrovní binární, nebo na úrovni zdrojového kódu), nebo jednoduché rozhraní pro běh jediné aplikace (svgalib). Pokud se snaží o rozšíření, většinou umožňují i běh X aplikací (např. Berlin nebo 3DWM).
Zvukový démon
Protože X server se nijak nestará o zvuk, objevuje se ještě další server, tentokrát zvukový. Vlastní obsluha zvukové karty je sice záležitostí jádra, ale zvukový démon má přesto svůj význam – zvukovou kartu může sdílet více programů najednou, komunikace se zvukovým démonem je nezávislá nejen na použité zvukové kartě, ale dokonce i na operačním systému, v neposlední řadě zvukový démon dokáže zajistit síťovou transparentnost i pro zvuk.
Jestliže u grafických serverů panuje jednota, u zvukových démonů tomu tak rozhodně není – existuje esound, aRts, Network Audio System a další. Některé programy démon obcházejí a komunikují se zvukovou kartou přímo (čímž mohou blokovat jiné programy).
Správce pracoviště a přihlašovací dialog
Samotný grafický systém nám neukáže nic zajímavého. Proto je zde správce pracoviště (desktop manager) a jeho pomocník – program pro přihlašovací dialog (greeter). Je to první program, se kterým se při práci setkáme, když uvidíme uvítací okno. Program pro přihlašovací dialog vykreslí uvítací obrazovku a dialog pro přihlášení. O ostatní se stará správce pracoviště (pokud jsou programy od sebe odděleny).
Poté, co se přihlásíme, správce pracoviště nastaví naše práva, nastaví se do našeho domovského adresáře a spustí relaci (sezení).
Mechanismus správce pracoviště umožňuje, aby jediný počítač používalo více lidí, každý s vlastním nastavením grafického prostředí a s vlastními daty. Správce pracoviště často umožňuje i vzdálené grafické přihlášení (tedy z jiného počítače).
Správce relace (sezení)
Po přihlášení očekáváme, že naběhnou programy, které běžně používáme. K tomu slouží správce relace. Programy, které s ním umí komunikovat, mu sdělují, že jsou spuštěny a jakým způsobem je lze při příštím přihlášení obnovit.
Správce relace však při startu také spouští určité programy, na jejichž funkci závisí správný běh vybraného prostředí (např. programy pro nastavení myši a klávesnice, panel, správce oken apod.).
Správce oken
Správce oken je zvláštní grafická aplikace, jejímž hlavním úkolem je spravovat okna – vykreslovat dekorace oken (rámečky, menu a nápovědy v těchto rámečcích) a většinou na základě akce uživatele pak žádat o změnu geometrie oken (polohy a velikosti), Správce oken má poslední slovo při rozhodování o umístění nově vzniklých oken.
Existuje obrovská škála správců oken, od spartánských až po komplikované systémy s dokonalou grafikou nebo s umělou inteligencí, snažící se předvídat, kam bychom okno nejraději umístili.
Grafická nadstavba
Programování interaktivních aplikací pro X je značně nepohodlné. Proto již od jejich počátků existují grafické nadstavby – knihovny nástrojů pro vytváření uživatelských rozhraní. V těchto knihovnách najdeme funkce pro obsluhu menu, tlačítek, přepínačů, posuvníky a další grafické prvky. Součástí X je jedna z těchto nadstaveb – Athena. Dnes velmi rozšířené jsou GTK+ a GTK2, QT a standard Motif reprezentovaný otevřenými projekty Open Motif a Lesstif. Rozšířené jsou též skriptovací nadstavby (tedy takové, kde popis okna dostává nadstavba v lidsky čitelné podobě) – zvláště Tcl/Tk.
Existuje mnohem více nadstaveb s různými zajímavými vlastnostmi (již zmíněná skriptová podoba, přenositelnost mezi platformami apod.) a programátoři si grafickou nadstavbu pro svůj program vybírají dle vlastního uvážení.
Desktopové prostředí
Pokud kolem nějaké grafické nadstavby vznikne dostatečně rozsáhlý a kompaktní soubor aplikací, hovoříme o desktopovém prostředí. Aplikace v takovém prostředí vypadají podobně, podobně se chovají a jejich vzájemná spolupráce je lepší.
Dnešní doba se nese ve znamení souboje dvou velkých desktopových prostředí – GNOME a KDE.
Ani malá prostředí rozhodně neztrácejí svůj okruh zájemců a nacházejí příznivce především díky své rychlosti a nenáročnost.
V příštím dílu se začneme seznamovat s jednotlivými součástmi grafického prostředí.