Jak funguje grafika v Linuxu: přehled různých desktopových prostředí

Tento článek je o tom, jak grafika Linuxu funguje a z jakých komponent se skládá. Obsahuje mnoho screenshotů různých implementací desktopových prostředí. 

Pokud mezi KDE a GNOME nemáte velký rozdíl, nebo ano, ale rádi byste věděli, jaké jsou další alternativy, pak je tento článek určen právě vám. Je to přehled, a přestože má mnoho názvů a málo pojmů, materiál bude užitečný i pro začátečníky, kteří se teprve zaměřují na Linux.

Téma může zajímat i pokročilé uživatele při nastavování vzdáleného přístupu a při implementaci tenkého klienta. Často se setkávám s poměrně ostřílenými linuxoidy s výroky „na serveru je pouze příkazový řádek a grafiku nemám v plánu podrobněji studovat, protože to je pro běžné uživatele vše potřebné“. Ale i znalci Linuxu jsou překvapeni a rádi, když objeví volbu "-X" pro příkaz ssh (a proto je užitečné porozumět provozu a funkcím X serveru).

Jak funguje grafika v Linuxu: přehled různých desktopových prostředíZdroj

Kurzy Linuxu vyučuji téměř 15 let na "Síťová akademie LANIT„A jsem si jistý, že mnoho z těch více než pěti tisíc lidí, které jsem vyškolil, čte a pravděpodobně píše články o Habrovi. Kurzy jsou vždy velmi nabité (průměrná délka kurzu je pět dní), je potřeba mluvit o tématech, která vyžadují alespoň deset dní pro úplné seznámení. A vždy v průběhu kurzu, v závislosti na publiku (začátečníci nebo ostřílení administrátoři), i na „dotazy z publika“ vybírám, co sdělit podrobněji a co je povrchnější, abych tomu věnoval více času k utilitám příkazového řádku a jejich praktické aplikaci . Takových témat, kterým se musí trochu obětovat, je dost. Jsou to „Historie Linuxu“, „Rozdíly v distribucích Linuxu“, „O licencích: GPL, BSD, …“, „O grafických a desktopových prostředích“ (téma tohoto článku) atd. Ne že by nebyly důležité, ale většinou je tam mnohem relevantnějších otázek „tady a teď“ a jen nějakých pět dní... Nicméně pro obecné pochopení základů OS Linux je potřeba pochopení dostupné rozmanitosti (takže i při použití jedné konkrétní linuxové distribuce , stále mají širší pohled na celý tento obrovský a obrovský svět, který se nazývá „Linux“), je užitečné a nutné tato témata studovat. 

V celém článku pro každou komponentu uvádím odkazy pro ty, kteří se chtějí ponořit hlouběji do tématu, například na články Wikipedie (přičemž odkazuji na úplnější / užitečnější verzi, pokud existují články v angličtině a ruštině).

Pro základní příklady a snímky obrazovky jsem použil distribuci openSUSE. Bylo možné použít jakoukoli jinou komunitně vyvinutou distribuci s velkým počtem balíčků v úložišti. Je obtížné, ale možné, demonstrovat rozmanitost desktopových designů na komerční distribuci, protože často používají pouze jedno nebo dvě ze známějších desktopových prostředí. Vývojáři tedy zúžili úkol vydat stabilní, odladěný OS. Na stejný systém jsem nainstaloval všechny DM / DE / WM (vysvětlení těchto pojmů níže), které jsem našel v úložišti. 

Snímky obrazovky s „modrými rámečky“ jsou právě pořízeny na openSUSE. 

Screenshoty s "bílými rámečky" byly pořízeny na jiných distribucích, jsou uvedeny na snímku obrazovky. 

Screenshoty s „šedými okraji“ byly převzaty z internetu jako příklady designů stolních počítačů z minulých let.

Pojďme tedy začít.

Hlavní komponenty, které tvoří grafiku

Vyberu tři hlavní součásti a uvedu je v pořadí, v jakém se spouštějí při startu systému: 

  1. DM (Správce zobrazení);
  2. zobrazovací server;
  3. DE (Desktop Environment).

Kromě toho jako důležité podpoložky prostředí Desktop: 

  • Správce aplikací/spouštěč/přepínač (tlačítko Start); 
  • WM (Správce oken);
  • různého softwaru dodávaného s desktopovým prostředím.

Více podrobností o každé položce.

DM (Správce zobrazení)

První aplikací, která se spustí při spuštění „grafiky“, je DM (Správce zobrazení), správce zobrazení. Jeho hlavní úkoly:

  • ptát se, které uživatele vpustit do systému, požadovat autentizační údaje (heslo, otisk prstu);
  • vyberte, které desktopové prostředí chcete spustit.

V současné době se široce používají různé distribuce: 

Seznam stávajících DM je průběžně aktualizován Wiki článek. 

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Stojí za zmínku, že následující snímky obrazovky používají stejný správce zobrazení LightDM, ale v různých distribucích (názvy distribucí jsou v závorkách). Podívejte se, jak odlišně může tento DM vypadat díky práci designérů různých distribucí.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Hlavní věc v této rozmanitosti je objasnit, že existuje aplikace, která je zodpovědná za spouštění grafiky a umožňuje uživateli přístup k této grafice, a existují různé implementace této aplikace, které se liší vzhledem a některými funkcemi (volba designu prostředí, výběr uživatelů, verze pro špatně vidící uživatele, možnost vzdáleného přístupu přes protokol XDMCP).

Display Server

Display Server je druh grafického základu, jehož hlavním úkolem je pracovat s grafickou kartou, monitorem a různými vstupními zařízeními (klávesnice, myš, touchpady). To znamená, že aplikace (například prohlížeč nebo textový editor), která je vykreslena v „grafice“, nemusí umět přímo pracovat se zařízeními, nemusí znát ovladače. O vše se postará X Window.

Když se mluví o Display Serveru, po mnoho let v Linuxu a Unixu to znamenalo aplikaci Systém X Window nebo u prostých lidí X (X). 

Nyní mnoho distribucí nahrazuje X Wayland. 

Můžete si také přečíst:

Nejprve si spustíme X a pár grafických aplikací v nich.

Cvičení „spouštění X a aplikací v něm“

Vše udělám od nově vytvořeného uživatele webinaruseru (bylo by jednodušší, ale ne bezpečnější dělat vše od roota).

  • Protože H'am potřebuje přístup k zařízením, dávám přístup: Seznam zařízení jsem určil tak, že jsem se podíval na chyby při spouštění X v protokolu (/home/webinaruser/.local/share/xorg/Xorg.77.log) 

% sudo setfacl -m u:webinaruser:rw /dev/tty8 /dev/dri/card0 /dev/fb0 /dev/input/*

  • Poté spustím X:

% X -retro :77 vt8 & 

Možnosti: * -retro - začít s "šedým" klasickým pozadím, nikoli s černým jako výchozí; * :77 - Nastavil jsem (možné je jakékoli v rozumném rozsahu, pouze :0 je s největší pravděpodobností již obsazeno již běžící grafikou) číslo obrazovky, nějaký skutečný jedinečný identifikátor, podle kterého bude možné rozlišit několik běžících X; * vt8 - určuje terminál, zde /dev/tty8, na kterém se budou zobrazovat X). 

  • Spuštění grafické aplikace:

Abychom to provedli, nejprve nastavíme proměnnou, podle které aplikace pochopí, které z X mám spuštěných, aby odeslalo, co je třeba nakreslit: 

% export DISPLAY=":77" 

Seznam běžících X můžete vidět takto: 

ps -fwwC X

Po nastavení proměnné můžeme spouštět aplikace v našich X - například spouštím hodiny:

% xclock -update 1 & 

% xcalc & 

% xeyes -g 200x150-300+50 &

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Hlavní myšlenky a závěry z tohoto fragmentu:

  • X potřebují přístup k zařízením: terminál, grafická karta, vstupní zařízení,
  • Samotné X nezobrazují žádné prvky rozhraní – je to šedé (pokud je s volbou „--retro“) nebo černé plátno určitých velikostí (například 1920 × 1080 nebo 1024 × 768), aby se v něm spouštěly grafické aplikace.
  • Pohyb "kříže" ukazuje, že X sledují polohu myši a předávají tyto informace aplikacím, které v ní běží.
  • Také X zachytí úhozy na klávesnici a předá tyto informace aplikacím.
  • Proměnná DISPLAY říká grafickým aplikacím, na které obrazovce (každé X se spouští s jedinečným číslem obrazovky při spuštění), a tedy které z těch, které běží na mém počítači, mají kreslit X. (Tuto proměnnou je také možné nastavit na vzdálený počítač a odeslat výstup na Xs běžící na jiném počítači v síti.) Protože Xs byly spuštěny bez volby -auth, není třeba se zabývat proměnnou XAUTHORITY nebo xhost příkaz.
  • Grafické aplikace (nebo jak je nazývají X-klienti) se kreslí v X - zatímco bez možnosti je posouvat / zavírat / měnit "-g (Width)x(Height)+(ShiftFromLeftEdge)+(ShiftFromTopEdge)". Se znaménkem mínus, respektive zprava a od spodního okraje.
  • Dva pojmy, které stojí za zmínku, jsou X server (jak se X nazývá) a X klienti (jak se nazývá jakákoli grafická aplikace běžící v X). V chápání této terminologie je trochu zmatek, mnozí ji chápou přesně naopak. V případě, že se připojím z „klientského stroje“ (v terminologii vzdáleného přístupu) k „serveru“ (v terminologii vzdáleného přístupu) za účelem zobrazení grafické aplikace ze serveru na mém monitoru, spustí se X server na stroj, kde se monitor (to znamená na "klientském stroji", nikoli na "serveru") a X klientů spouští a běží na "serveru", ačkoli jsou zobrazeni na monitoru "klientského stroje". 

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí

DE komponenty

Dále budeme analyzovat komponenty, které obvykle tvoří pracovní plochu.

Komponenty DE: Tlačítko Start a Hlavní panel

Začněme tzv. tlačítkem „Start“. Často se jedná o samostatný applet používaný na "Taskbar". Obvykle nechybí ani applet pro přepínání mezi spuštěnými aplikacemi.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Po prohlédnutí různých desktopových prostředí bych takové aplikace shrnul pod obecný název „Apps Manager (Launcher / Switcher)“, tedy nástroj pro správu aplikací (spouštění a přepínání mezi běžícími), a také označil utility, které jsou příklad aplikace tohoto typu.

  • Děje se tak ve formě tlačítka "Start" na klasickém (po celé délce jednoho z okrajů obrazovky) "Hlavním panelu":

    ○ xfce4-panel,
    ○ mate-panel/gnome-panel,
    ○ panel vala,
    ○ odstín2.

  • Můžete také zvýraznit „hlavní panely ve tvaru MacOS“ samostatně (ne po celé délce okraje obrazovky), i když se v obou může objevit mnoho hlavních panelů. Zde je hlavní rozdíl spíše čistě vizuální - přítomnost „efektu přibývajících ikon při vznášení“.

    ○ dok,
    ○ latte dock,
    ○ káhirský dok,
    ○ prkno.

  • A / Nebo služba, která spouští aplikace po stisknutí klávesových zkratek (v mnoha desktopových prostředích je podobná komponenta nutně přítomna a umožňuje vám nakonfigurovat vlastní klávesové zkratky):

    ○ sxhkd.

  • Existují také různé „spouštěče“ ve tvaru menu (z angl. Launch (run)):

    ○ dmenu-run,
    ○ rofi -show drun,
    ○ Albert,
    ○ grunge.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí

DE komponenty: WM (Window Manager)

Přečtěte si více v ruštině

Přečtěte si více v angličtině

WM (Window Manager) - druh aplikace, která je zodpovědná za správu oken, přidává možnost:

  • přesouvání oken po ploše (včetně standardního s podržením klávesy Alt pro kteroukoli část okna, nejen pro nadpis);
  • změna velikosti oken, například přetažením "rámu okna";
  • přidává do rozhraní okna „titul (titul)“ a tlačítka pro minimalizaci / maximalizaci / uzavření aplikace;
  • koncept, jehož aplikace je „v centru pozornosti“.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Uvedu ty nejznámější (v závorce uvádím, které DE se standardně používá):

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Dále uvedu "staré WM s DE prvky". Tito. kromě správce oken mají prvky jako tlačítko Start a Hlavní panel, které jsou více vlastní plnohodnotnému DE. I když jak jsou „staré“, pokud IceWM i WindowMaker již vydaly své aktualizované verze v roce 2020. Ukazuje se, že správnější je ne „staří“, ale „starodávní“:

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Kromě „klasických“ („stack window managers“) stojí za zmínku samostatně kachlová WM, který umožňuje dlaždicové uspořádání oken přes celou obrazovku a u některých aplikací samostatnou plochu pro každou spuštěnou aplikaci na celou obrazovku. To je trochu neobvyklé pro lidi, kteří je dosud nepoužívali, ale protože já sám takové rozhraní používám poměrně dlouho, mohu říci, že je to docela pohodlné a rychle si na takové rozhraní zvyknete, po kterém „klasičtí“ správci oken se nezdají být pohodlné.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Za zmínku stojí také samostatně projekt Compiz a takový koncept jako „Composite Window Manager“, který využívá schopnosti hardwarové akcelerace k zobrazení průhlednosti, stínů a různých trojrozměrných efektů. Asi před 10 lety došlo k rozmachu 3D efektů na linuxových desktopech. Nyní mnoho správců oken zabudovaných do DE používá některé z funkcí skládání. Nedávno se objevilo Wayfire - produkt s podobnou funkčností Compiz pro Wayland.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Podrobný seznam různých správců oken lze nalézt také na  srovnávací článek.

DE komponenty: zbytek

Za zmínku také stojí následující součásti desktopu (zde používám pro popis typu aplikace anglické ustálené termíny - nejedná se o názvy samotných aplikací):

  • Applety:
  • Software (Widget toolkit) – s prostředím je často dodávána určitá „minimální sada“ softwaru:

DE (Desktop Environment)

Přečtěte si více v angličtině

Z výše uvedených komponent se získá tzv. „Desktop Environment“. Často jsou všechny jeho součásti vyvíjeny pomocí stejných grafických knihoven a za použití stejných principů návrhu. Tím je alespoň zachován společný styl vzhledu aplikací.

Zde můžeme zdůraznit následující aktuálně existující desktopová prostředí:

GNOME a KDE jsou považovány za nejběžnější a XFCE jim šlape na paty.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Porovnání podle různých parametrů ve formě tabulky si můžete prohlédnout v odpovídajícím Článek na Wikipedii.  

Odrůda DE

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Project_Looking_Glass

Existují dokonce i takové zajímavé příklady z historie: v letech 2003-2007 byl vytvořen „3D desktop design“ pro Linux s názvem „Project Looking Glass“ od společnosti Sun. Sám jsem tuto plochu používal, nebo spíše „hrál“, protože se těžko používal. Tento „3D skin“ byl napsán v Javě v době, kdy ještě neexistovaly 3D grafické karty. Všechny efekty proto přepočítával procesor a počítač musel být hodně výkonný, jinak vše fungovalo pomalu. Ale vyšlo to krásně. Dlaždice 360D aplikace lze otáčet/roztahovat. Ve válci plochy s tapetou bylo možné otáčet z XNUMXstupňového panoramatu. Bylo tam několik krásných vlastních aplikací: například poslech hudby ve formě “CD měniče” atd. Můžete se podívat na youtube видео o tomto projektu bude s největší pravděpodobností špatná pouze kvalita těchto videí, protože v těch letech nebylo možné nahrávat videa ve vysoké kvalitě.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Xfce

Lehká pracovní plocha. Projekt existuje již dlouhou dobu, od roku 1996. V posledních letech poměrně populární, na rozdíl od těžšího KDE a GNOME, na mnoha distribucích, které vyžadují lehké a „klasické“ rozhraní pro desktop. Má mnoho nastavení a velké množství svých programů: terminál (xfce4-terminal), správce souborů (thunar), prohlížeč obrázků (ristretto), textový editor (mousepad).

 
Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Panteon 

Používá se v distribuci Elementary OS. Zde můžeme říci, že existují „desktopy“, které jsou vyvíjeny a používány v rámci jedné samostatné distribuce a v jiných distribucích se příliš nepoužívají (pokud se „nepoužívají vůbec“). Alespoň si zatím nezískali oblibu a velkou část publika nepřesvědčili o výhodách svého přístupu. Pantheon si klade za cíl vytvořit rozhraní podobné macOS. 

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Možnost dokovacího panelu:

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Osvícení

Silné zaměření na grafické efekty a widgety (od dob, kdy jiná desktopová prostředí neměla widgety na ploše, jako kalendář/hodiny). Používá vlastní knihovny. Existuje velká množina jeho "krásných" aplikací: terminál (Terminologie), přehrávač videa (Rage), prohlížeč obrázků (Ephoto).

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
mókša

Toto je fork Enlightenment17, který se používá v distribuci BodhiLinux. 

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
GNOME

Zpočátku „klasické“ desktopové rozhraní, vytvořené v opozici vůči KDE, které bylo napsáno na knihovně QT, v té době distribuované pod licencí, která nebyla příliš vhodná pro komerční distribuce. 

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
GNOME_Shell

Od třetí verze GNOME se GNOME začalo dodávat s GNOME Shell, který má „neklasický vzhled“, který se nelíbil všem uživatelům (jakékoli náhlé změny rozhraní jsou pro uživatele těžko akceptovatelné). V důsledku toho - vznik fork projektů, které pokračují ve vývoji tohoto desktopu v "klasickém" stylu: MATE a Cinnamon. Standardně se používá v mnoha komerčních distribucích. Má velké množství nastavení a svých aplikací. 

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
MATE 

Objevilo se na základě GNOME2 a pokračuje ve vývoji tohoto prostředí. Má velké množství vylepšení a forků aplikací, které byly použity v GNOME2 (nové názvy jsou použity, aby nedošlo k záměně forků s jejich novou verzí pro GNOME3).

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Cinnamon

Rozvětvení prostředí GNOME Shell, které uživatelům poskytuje rozhraní „klasického“ stylu (jako tomu bylo v GNOME2). 

Má velké množství nastavení a stejné aplikace jako pro GNOME Shell.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Budgie

"Klasický" styl fork GNOME, který se vyvinul jako součást distribuce Solus, ale nyní přichází také jako samostatný desktop na různých jiných distribucích.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
KDE_Plasma (nebo, jak se často říká, jen KDE) 

Desktopové prostředí vyvinuté projektem KDE. 

Má obrovské množství nastavení dostupných jednoduchému uživateli z grafického rozhraní a mnoho grafických aplikací vyvinutých v rámci tohoto desktopu.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Trojice

V roce 2008 KDE vydalo svou novou implementaci KDE Plasma (desktopový engine byl silně přepsán). Stejně jako u GNOME/MATE se to nelíbilo všem fanouškům KDE. V důsledku toho se objevil fork projektu, který navazoval na vývoj předchozí verze, nazvaný TDE (Trinity Desktop Environment).

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Deepin_DE

Jedno z novějších desktopových prostředí napsané pomocí Qt (na kterém je napsáno KDE). Má mnoho nastavení a poměrně krásné (ačkoli je to subjektivní koncept) a dobře propracované rozhraní. Vyvinutý jako součást distribuce Deepin Linux. Existují také balíčky pro jiné distribuce.

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
Létat 

Příklad desktopového prostředí napsaného pomocí Qt. Vyvinutý jako součást distribuce Astra Linux. 

Jak funguje grafika v Linuxu: přehled různých desktopových prostředí
LXQt

Odlehčené desktopové prostředí. Stejně jako několik předchozích příkladů napsaných pomocí Qt. Ve skutečnosti jde o pokračování projektu LXDE a výsledek fúze s projektem Razor-qt.

Jak vidíte, linuxová plocha může vypadat velmi odlišně a existuje vhodné rozhraní pro vkus každého: od velmi krásného a s 3D efekty po minimalistické, od „klasických“ po neobvyklé, od systémově náročných po lehké, od velkých obrazovek po tablety/smartphony.

No, rád bych doufal, že se mi podařilo dát představu o tom, jaké jsou hlavní součásti grafiky a desktopu v OS Linux.

Materiál pro tento článek byl testován v červenci 2020 na webináři. Dá se to prohlížet zde.

To je vše. Doufám, že to bylo užitečné. Pokud máte nějaké dotazy a připomínky, napište. rád odpovím. Tak pojď a studuj Síťová akademie LANIT!

Zdroj: www.habr.com

Přidat komentář