Portál AbcLinuxu, 5. března 2021 14:23

Koncepce

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.

Window manager

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ší komponenty

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).

« Předchozí | Nahoru | Obsah | Další »

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: 6120×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.