Portál AbcLinuxu, 4. května 2025 04:19
Základem architektury X11 je X server. X server je zařízení (dnes nejčastěji počítač s potřebným hardwarovým a softwarovým vybavením) disponující jednou nebo více obrazovkami (fyzickými nebo virtuálními) a vstupními zařízeními - obvykle klávesnící a polohovacím zařízením (myš, tablet). Tyto prostředky dává X server k dispozici klientům, kteří je chtějí využívat. Pomocí protokolu X11 klientská aplikace posílá X serveru požadavky na vykreslování (základní grafická primitiva) a naopak od X serveru dostává upozornění na události (events), odpovídající podnětům vstupních zařízení (stisk klávesy na klávesnici, pohyb myši apod.).
Komunikace mezi X serverem probíhá buď prostřednictvím lokálního (unix domain) socketu nebo pomocí TCP spojení. Z pohledu klientské aplikace jsou tyto varianty zcela rovnocenné, jakoukoli grafickou aplikaci v unixových systémech lze proto používat beze změn buď přímo na témže počítači jako X server nebo vzdáleně. Jediná změna, kterou musíme provést, je předání informace o X serveru, který má aplikace používat, viz kapitola vzdálený přístup. Výjimku tvoří pouze aplikace, používající kvůli rychlosti rozšíření pro přímý přístup ke grafické kartě, např. některé přehrávače videa nebo hry.
X sice operuje s pojmem okna, ale v pojetí X serveru je okno pouze obdélníková oblast obrazovky, kterou lze použít pro vykreslování a ke které se vztahují události vstupních zařízení. X server sice eviduje uspořádání překrývajících se oken (z-order), ale nezabývá se vykreslováním rámečků ani interakcí s uživatelem (klávesové zkratky a tlačítka pro přesun nebo změnu velikosti apod.). Tyto funkce obstarává samostatná aplikace, označovaná jako window manager (správce oken). Vůči X serveru vystupuje window manager jako obyčejná klientská aplikace, předává mu požadavky na vykreslování (a změny atributů oken), naopak od něj dostává informace o podnětech uživatele, na které má reagovat.
Stejně jako normální aplikace, ani window manager nemusí být spouštěn na témže počítači jako X server. To je zejména případ X terminálů. X terminál je zařízení, které je vlastně jednoduchým počítačem vykonávajícím funkci X serveru, na kterém ale nejsou spouštěny vlastní aplikace (ani window manager). Uživatel se pomocí takového terminálu přihlásí k vzdálenému počítači (obvykle v lokální síti) a window manager a další aplikace jsou spouštěny tam. Výhodou je, že X terminál nevyžaduje příliš výkonný počítač, většinou je realizován jako bezdiskový a často nemá ani aktivní chlazení, takže je potom velmi tichý.
Další výhodou modulární struktury systému X Window je skutečnost,
že si uživatel může vybrat window manager podle svých preferencí.
Na jedné straně je nabídka minimalistických window managerů, které
implementují pouze základní funkce (přesun a změna velikosti oken,
jednoduché menu), např. twm
nebo mwm
. Na
opačném konci stojí prostředí, která implementují mnoho dalších
pokročilých funkcí a správa oken je pouze velmi malou částí jejich
funkcionality; proto se pro ně používá spíše termín desktop
manager, v Linuxu se nejčastěji setkáváme
s KDE
a Gnome. Za vysokou míru komfortu
ale samozřejmě platíme podstatně vyššími nároky na paměť a čas procesoru.
Existují dokonce i aplikace, kde není třeba správu oken provádět vůbec nebo by dokonce byla na závadu, protože počítač slouží pouze k běhu jedné konkrétní aplikace. Příkladem jsou informační kiosky. V takovém případě není třeba spouštět window manager vůbec, stačí X server a aplikace.
Další důležitou komponentou je display manager, starající se o autentizaci a autorizaci klientských aplikací. Povolíme-li totiž síťovou komunikaci aplikací s X serverem, povolili bychom tím přísup k X serveru komukoli, kdo je schopen navázat TCP spojení, a to by mohl být v krajním případě i celý Internet. Kdokoli by pak mohl nejen zobrazovat na náš X server, ale dokonce i získávat události vstupních zařízení, a tedy např. sledovat, co píšeme na klávesnici. Proto display manager omezuje přístup k X serveru pouze na důvěryhodné klienty, podrobnosti viz kapitola vzdálený přístup. Display manager je také zodpovědný za zobrazení a funkci úvodního přihlašovacího okna a případně i sdílení informací s dalšími display managery protokolem XDMCP.
Další užitečnou aplikací může být font server, který poskytuje
X serverům fonty. Této možnosti se využívá zejména
u hardwarových X terminálů, do nichž není možné další fonty
instalovat obvyklým způsobem. Proto se fonty instalují na font server
a terminálům se pouze v konfiguraci nastaví umístění font serveru,
který mají využívat. Součástí instalace linuxového X serveru je
i jednoduchý font server (program xfs
).
Dokument vytvořil: vladka, 29.8.2005 12:05 | Poslední úprava: hydrandt, 7.3.2006 22:31 | Další přispěvatelé: Michal Kubeček | Historie změn | Zobrazeno: 6899×
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.