GNU/Linux >> Znalost Linux >  >> Linux

Xorg, X11, Wayland? Vysvětlení zobrazovacích serverů a protokolů pro Linux

Přemýšleli jste někdy o tom, co dělá X server, Xorg, X11, Wayland a podobné věci? Wayland vs. Xorg, co je lepší? Tento návod je pro vás !

Vždy na tyto termíny narazíte a víte, že mají co do činění s grafikou, ale rádi byste se dozvěděli více.

Co je to Display Server v Linuxu?

Zobrazovací server  je program, jehož primárním úkolem je koordinovat vstup a výstup svých klientů do a ze zbytku operačního systému, hardwaru a navzájem. Zobrazovací server komunikuje se svými klienty přes protokol zobrazovacího serveru.

Zobrazovací server je klíčový v jakémkoli grafickém uživatelském rozhraní, konkrétně v systému oken. Základní komponenta grafického uživatelského rozhraní (GUI) je umístěna mezi grafickým rozhraním a jádrem.

Takže díky zobrazovacímu serveru můžete svůj počítač používat s GUI. Bez něj byste byli omezeni pouze na rozhraní příkazového řádku.

Je důležité nezaměňovat zobrazovací server s desktopovým prostředím. Desktopová prostředí (Gnome, KDE, Xfce, MATE atd.) používají zobrazovací servery.

Zobrazovací server komunikuje se svými klienty přes protokol zobrazovacího serveru. V Linuxu jsou k dispozici tři protokoly zobrazovacího serveru. X11 a Wayland jsou dva z nich. Třetí, Mir, je nad rámec tohoto návodu.

X Window System, Xorg, X11, Explained

Systém X Window

X Window System, často označovaný pouze jako X, je starý. Poprvé vznikl v roce 1984 a byl výchozím okenním systémem pro většinu operačních systémů podobných UNIX, včetně Linuxu.

X.Org

Server X.Org je bezplatná a open-source implementace zobrazovacího serveru X Window System spravovaná nadací X.Org Foundation. Je to aplikace, která komunikuje s klientskými aplikacemi prostřednictvím protokolu X11 za účelem kreslení věcí na displej a odesílání vstupních událostí, jako jsou pohyby myši, kliknutí a stisk kláves.

Obvykle by se spustil X server, který bude čekat, až se k němu klientské aplikace připojí. Xorg je však založen na modelu klient/server, a proto umožňuje klientům spouštět buď lokálně, nebo vzdáleně na jiném počítači.

Pokud to není zřejmé, je to implicitně v designu X11, že aplikace a displej nemusí být na stejném počítači. Když byl vyvinut X, bylo rozšířeno, že X server poběží na pracovní stanici a uživatelé budou spouštět aplikace na vzdáleném počítači s vyšším výpočetním výkonem.

X11

X11 je síťový protokol. Popisuje, jak jsou zprávy vyměňovány mezi klientem (aplikací) a displejem (serverem). Tyto zprávy obvykle obsahují primitivní kreslicí příkazy jako „nakreslete rámeček“, „napište tyto znaky na tuto pozici“, „stiskli jste levé tlačítko myši“ atd.

Ale X11 je starý a stále to byla hromada hacků sedících na vrcholu protokolu, který nebyl přepracován více než 30 let. Většina funkcí protokolu X Server již nebyla používána.

Veškerá práce, kterou X11 dělala, byla přerozdělena na jednotlivé aplikace a správce oken. A přesto všechny tyto staré funkce stále existují, zatěžují všechny tyto aplikace a poškozují výkon a zabezpečení.

Wayland, zobrazovací server nové generace

Wayland byl zahájen Kristianem Hogsbergem, vývojářem X.Org, jako osobní projekt v roce 2008. Jde o komunikační protokol, který specifikuje komunikaci mezi zobrazovacím serverem a jeho klienty.

Wayland je vyvinut jako bezplatný a open source komunitně řízený projekt, který nahrazuje X Window System (také známý jako X11 nebo Xorg ) moderním, zabezpečeným a přímočařejším systémem oken.

Ve Waylandu je sazeč zobrazovací server. skladatel je správce oken, který poskytuje aplikacím vyrovnávací paměť pro každé okno mimo obrazovku. Správce oken složí vyrovnávací paměti oken do obrázku představujícího obrazovku a výsledek zapíše do paměti displeje.

Protokol Wayland umožňuje skladateli odesílat vstupní události přímo klientům a umožňuje klientovi odesílat škodní událost přímo skladateli.

Stejně jako v případě X, když klient obdrží událost, aktualizuje uživatelské rozhraní (UI). Ale ve Wayland vykreslování probíhá v klientovi, takže klient odešle požadavek na sazbu, aby označil oblast, která byla aktualizována.

Hlavní výhodou Waylandu oproti X je, že začíná od nuly. Jedním z hlavních důvodů složitosti X je to, že se jeho role v průběhu let změnila. V důsledku toho se dnes X11 chová z velké části jako „opravdu hrozný“ komunikační protokol mezi klientem a správcem oken.

Wayland je také lepší, pokud jde o bezpečnost. S X11 je možné udělat něco známého jako „keylogging“ tím, že umožníte libovolnému programu existovat na pozadí a číst, co se děje s ostatními okny otevřenými v oblasti X11.

To se s Waylandem prostě nestane, protože každý program funguje nezávisle.

Závěr

Nicméně systém X Window má oproti Waylandu stále mnoho výhod. I když Wayland odstraňuje většinu konstrukčních nedostatků Xorg, má své problémy. Přestože projekt Wayland funguje již více než deset let, věci nejsou 100% stabilní.

Od roku 2022 je většina videoher a graficky náročných aplikací pro Linux stále napsána pro X11. Také mnoho uzavřených grafických ovladačů, jako jsou ovladače pro GPU NVIDIA, zatím nenabízí úplnou podporu pro Wayland.

X nemůže vydržet a Wayland je v mnoha ohledech zlepšení. Ale zatím byla naprostá většina nativních aplikací napsána pro Xorg. Dokud nebudou všechny tyto aplikace portovány, je třeba Xorg udržovat. Wayland ještě není příliš stabilní ve srovnání s Xorg.


Linux
  1. Meziprocesová komunikace v Linuxu:Sokety a signály

  2. Příkazy hlavy a ocasu v Linuxu vysvětleny s příklady

  3. Nova-agent (Linux) a agent Rackspace (Windows)

  1. Nahrávání obrazovky v Linuxu s OBS a Wayland

  2. Linux – Zakázat/upravit střední-click-to-paste v X11/xorg?

  3. Linuxová distribuce běží zcela na Wayland (bez X11)?

  1. Přidejte a odeberte servery GlusterFS

  2. Pipes a přesměrování v Linuxu – vysvětleno!

  3. Jak nainstalovat RabbitMQ Server a Erlang na Linux