GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jak funguje displej Linuxu?

Zobrazovací systém Linuxu využívá více technologií , protokoly, rozšíření, aplikace, servery (démon), ovladače a koncepty k dosažení systému oken například:
Xorg, Wayland, X11, OpenGL, RandR, XrandR, rozlišení obrazovky, DPI, Display server atd.

Toto množství může být ohromující nebo matoucí, když nemáme úplný obraz. Pro každou stranu linuxového zobrazovacího systému existuje několik dokumentací, ale jak to v celosvětovém měřítku přesně funguje?

Přijatá odpověď:

Linuxový displej

Zobrazovací systém Linuxu využívá různé technologie, protokoly, rozšíření, aplikace, servery (démon), ovladače a koncepty k vytvoření okenního systému, například:Xorg, Wayland, X11, OpenGL, RandR, XrandR, rozlišení obrazovky, DPI, server zobrazení , atd. To může být zdrcující k úplnému pochopení, ale každá jeho strana je určena pro konkrétní účel a nepoužívají se všechny společně ve stejnou dobu.

Protokol X

Systém X Window, X11 (X verze 11) je okenní systém pro bitmapové displeje, běžný v operačních systémech podobných Unixu, X poskytuje základní rámec pro prostředí GUI:kreslení a přesouvání oken na zobrazovacím zařízení a interakce s myší a klávesnicí. X nenařizuje uživatelské rozhraní, to řeší jednotlivé programy. Jako takový se vizuální styl prostředí založených na X velmi liší; různé programy mohou představovat radikálně odlišná rozhraní. X vznikl v Project Athena na Massachusetts Institute of Technology (MIT) v roce 1984. Protokol X je ve verzi 11 (odtud „X11“) od září 1987. Nadace X.Org vede projekt X se současnou referenční implementací , X.Org Server, dostupný jako bezplatný a open source software pod licencí MIT a podobnými povolenými licencemi.

Implementace X

Většina distribucí Linuxu používá X.Org Server což je bezplatná a open-source implementace zobrazovacího serveru pro X Window System (X11) spravovaná nadací X.Org Foundation. Samotný Xorg/X nepodporuje více poskytovaných funkcí, jako je škálování nebo vykreslování, proto Xorg používá rozšíření jako XFixes, RandR (RandR spravuje xrandr může například nastavit posouvání, rozlišení nebo škálování), GLX (rozšíření OpenGL), vykreslování nebo kompozitní, což způsobí, že celý podstrom hierarchie oken bude vykreslen do vyrovnávací paměti mimo obrazovku, aplikace pak mohou převzít obsah tohoto vyrovnávací paměti a dělají, co chtějí, vyrovnávací paměť mimo obrazovku lze automaticky sloučit do nadřazeného okna nebo sloučeny externími programy, nazývanými správci kompozice dělat skládání sami jako někteří správci oken dělat; Např. Compiz, Enlightenment, KWin, Marco, Metacity, Muffin, Mutter a Xfwm. Pro ostatní „neskládání ” okenních manažerů, lze použít samostatný kompozitní manažer, například:Picom, Xcompmgr nebo Unagi. Rozšíření podporovaná Xorg může být uveden pomocí:xdpyinfo -display :0 -queryExtensions | awk '/^number of extensions:/,/^default screen number/' .

Na druhou stranu Wayland je zamýšlen jako jednodušší náhrada za Xorg/X11, snadněji se vyvíjí a udržuje, ale od roku 2020 ještě není plně připravena desktopová podpora pro Wayland kromě Gnome (např. podpora KDE Kwin a Wayland); na straně distribucí Fedora standardně používá Wayland. Všimněte si, že Wayland a Xorg mohou pracovat současně, což může být případ v závislosti na použité konfiguraci. XWayland je série záplat na kódové základně serveru X.Org, které implementují X server běžící na protokolu Wayland. Záplaty jsou vyvíjeny a udržovány vývojáři Wayland kvůli kompatibilitě s aplikacemi X11 během přechodu na Wayland a byly začleněny do verze 1.16 serveru X.Org v roce 2014. Když uživatel spustí aplikaci X z Westonu, zavolá XWayland k vyřízení požadavku.

Související:Po aktualizaci na MacOS Catalina MAMP již nefunguje s rootem na síťovém připojení?

Celý rozsah

Zobrazovací server nebo okenní server je program (jako Xorg nebo Wayland), 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 prostřednictvím protokolu zobrazovacího serveru, což je komunikační protokol, který může být transparentní v síti nebo může být jednoduše síťový. Například X11 a Wayland jsou komunikační protokoly zobrazovacího serveru.

Jak je znázorněno na obrázku správce oken je dalším důležitým prvkem desktopového prostředí, kterým je systémový software, který řídí umístění a vzhled oken v okenním systému v grafickém uživatelském rozhraní. Většina správců oken je navržena tak, aby pomáhala poskytovat pracovní prostředí. Pracují ve spojení se základním grafickým systémem, který poskytuje požadovanou podporu funkcí pro grafický hardware, ukazovací zařízení a klávesnici, a jsou často psány a vytvářeny pomocí sady nástrojů widget. KDE používá KWin jako správce oken (od roku 2020 má omezenou podporu pro Wayland), podobně Gnome 2 používá Metacity a Gnome 3 používá Mutter jako správce oken.

Dalším důležitým aspektem správce oken je kompozitor nebo správce skládání oken , což je správce oken, který poskytuje aplikacím vyrovnávací paměť mimo obrazovku pro každé okno. Správce oken složí vyrovnávací paměti oken do obrazu představujícího obrazovku a zapíše výsledek do paměti displeje. Správci skládání oken mohou provádět další zpracování na oknech s vyrovnávací pamětí, aplikují 2D a 3D animované efekty, jako je prolnutí, blednutí, škálování, rotace, duplikace, ohýbání a zkroucení, míchání, rozmazávání, přesměrování aplikací a překládání oken do jednoho z mnoha zobrazení. a virtuální desktopy. Technologie počítačové grafiky umožňuje vykreslování vizuálních efektů v reálném čase, jako jsou vržené stíny, živé náhledy a komplexní animace. Vzhledem k tomu, že obrazovka má dvojitou vyrovnávací paměť, během aktualizací nebliká. Mezi nejčastěji používané compositing window managery patří:Linux, BSD, Hurd a OpenSolaris-Compiz, KWin, Xfwm, Enlightenment a Mutter. každý z nich má svou vlastní implementaci, například KWin'scompositor KDE mají mnoho funkcí/nastavení, jako je rychlost animace, zabránění roztržení (vsync), miniatury oken, metoda změny velikosti a mohou používat OpenGLv2/OpenGLv3 nebo XRender jako backend vykreslování spolu s Xorg. (XRender/Render nezaměňovat s XRandR/RandR).

OpenGL (Otevřená grafická knihovna) je vícejazyčné rozhraní pro programování aplikací pro různé platformy (API) pro vykreslování 2D a 3D vektorové grafiky. API se obvykle používá k interakci s grafickým procesorem (GPU) k dosažení hardwarově akcelerovaného vykreslování. OpenGL je renderovací knihovna, kterou lze použít s Xorg, Wayland nebo jakoukoli aplikací, která ji implementuje. Instalaci OpenGL lze zkontrolovat pomocí glxinfo | grep OpenGL .

Rozlišení displeje nebo režimy zobrazení počítačového monitoru nebo zobrazovacího zařízení je počet odlišných pixelů v každém rozměru, které lze zobrazit. Obvykle se uvádí jako šířka × výška s jednotkami v pixelech:například 1024 × 768 znamená, že šířka je 1024 pixelů a výška je 768 pixelů. xrandr lze použít k přidání nebo vykreslení/simulaci nového rozlišení displeje.

DPI představuje počet bodů na palec a je mírou prostorového tisku/zobrazení , zejména počet jednotlivých bodů, které lze umístit do řádku v rámci rozpětí 1 palce (2,54 cm). Obrazovky počítačů nemají body, ale mají pixely, úzce související koncept je pixelů na palec nebo PPI, a proto je DPI implementováno s konceptem PPI. Výchozí 96 DPI znamená 96×96 vertikálně i horizontálně. Je navíc nastavení X DPI (bod na palec) určeno pouze pro změnu měřítka textu? QA je velmi informativní.

Související:Proč lepicí páska nefunguje dobře na kabelech?

Poznámky

Některé gui nástroje KDE: systemsettings5> display, kcmshell5 xserver a kinfocenter .

Odkazy

Odkazy a zdroje: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 a 12.


Linux
  1. Linux – Jak funguje průměrná zátěž u moderních procesorů?

  2. Ssh – Jak funguje Tcp-keepalive v Ssh?

  3. ZFS pod Linuxem, funguje to?

  1. Co je webový server a jak webový server funguje?

  2. Jak funguje debugger v Linuxu?

  3. Jak funguje alokace zásobníku v Linuxu?

  1. Jak pracovat s SFTP klientem v Linuxu – 10 příkazů sftp

  2. Takto funguje linuxový server

  3. Jak nainstalovat virtualizační Linux Server