Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí

Tento článek pojednává o tom, jak je struktura grafiky v Linux a z jakých komponent se skládá. Obsahuje mnoho snímků obrazovky různých implementací desktopového prostředí. 

Pokud mezi KDE a GNOME moc nerozlišujete, nebo pokud ano, ale rádi byste věděli, jaké další alternativy existují, pak je tento článek určen právě vám. Je to přehled a ačkoli obsahuje mnoho názvů a několik termínů, materiál bude užitečný i pro začátečníky a ty, kteří se s tímto oborem teprve seznamují. Linux.

Toto téma by mohlo zajímat pokročilé uživatele, ať už nastavují vzdálený přístup nebo implementují tenkého klienta. Často se setkávám se zkušenými uživateli Linuxu, kteří tvrdí: „Server má pouze příkazový řádek a nemám v plánu podrobně studovat grafiku, protože to je vše pro základní uživatele.“ Ale i experti Linux s velkým překvapením a radostí objeví volbu „-X“ příkazu ssh (a k tomu je užitečné porozumět fungování a funkcím X serveru).

Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředíZdroj

Kurzy vedu již téměř 15 let. Linux v "Síťová akademie LANIT„a jsem si jistý, že mnoho z více než pěti tisíc lidí, které jsem proškolil, čtou a pravděpodobně píší články na Habru. Kurzy jsou vždy velmi intenzivní (průměrná doba trvání kurzu je pět dní) a pokrývají témata, jejichž úplné pochopení by trvalo nejméně deset dní. A během kurzu si v závislosti na publiku (nováčci nebo zkušení administrátoři) a „otázkách od publika“ vždy vybírám, co sdělím podrobněji a co proberu povrchněji, přičemž více času věnuji utilitám příkazového řádku a jejich praktickému použití. Existuje spousta takových témat, která je třeba trochu obětovat. Toto je „historie“ Linux", "Rozdíly v distribucích Linux„“, „O licencích: GPL, BSD, ...“, „O grafice a desktopových prostředích“ (téma tohoto článku) atd. Nejde o to, že by byly nedůležité, ale obvykle existuje mnoho naléhavějších otázek „tady a teď“ a jen nějakých pět dní... Nicméně pro obecné pochopení základů OS Linux, pochopení dostupné rozmanitosti (aby i při použití jedné specifické distribuce Linux, stále mají širší pohled na celý tento obrovský a nekonečný svět, který se nazývá „Linux„“) Studium těchto témat je užitečné a nezbytné. 

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: 

  • SDDM (změněno KDM),
  • GDM,
  • LightDM,
  • XDM.
  • Za zmínku stojí také Fly-DM (používaný v AstřeLinux).

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

Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPř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.

Pokud jde o grafické servery, ty existují již mnoho let. Linuxa v Unixu to bylo zamýšleno jako aplikace 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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Jak je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Za zmínku stojí také samostatně projekt Compiz a koncept „kompozitního správce oken“, který využívá hardwarovou akceleraci k zobrazení průhlednosti, stínů a různých 3D efektů. Asi před 10 lety došlo k boomu 3D efektů na Linux-desktopy. V dnešní době mnoho správců oken zabudovaných do desktopových prostředí částečně využívá možnosti kompozice. V poslední době Wayfire - produkt s podobnou funkčností Compiz pro Wayland.

Jak je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 pro Linux Společnost Sun vytvořila „3D téma plochy“ s názvem „Project Looking Glass“. Tuto plochu jsem sám používal, respektive jsem si s ní „hrál“, protože se obtížně používala. Toto „3D téma“ bylo napsáno v Javě v době, kdy ještě neexistovaly grafické karty s podporou 3D. Proto všechny efekty přepočítával procesor a počítač musel být velmi výkonný, jinak by vše fungovalo pomalu. Ale dopadlo to krásně. Panely 3D aplikací se daly otáčet a rozkládat. Dalo se otáčet ve válci plochy s 360stupňovým panoramatem tapety. Bylo tam několik krásných aplikací: například poslech hudby ve formě „CD měniče“ atd. Můžete se na to 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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Panteon 

Používá se v distribuci Elementary OS. Dá se říci, že existují desktopy vyvinuté a používané v rámci jedné distribuce, které se však v jiných distribucích příliš nepoužívají (pokud ne zcela nevyužívají). Alespoň si zatím nezískaly popularitu ani nepřesvědčily široké publikum o výhodách svého přístupu. Pantheon si klade za cíl vytvořit rozhraní podobné tomu, které... macOS. 

Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Možnost dokovacího panelu:

Jak je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPřehled různých desktopových prostředí
mókša

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

Jak je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPř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 je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Deepin_DE

Jedno z nových desktopových prostředí, napsané v Qt (stejném jazyce, jaký používá KDE). Nabízí širokou škálu možností přizpůsobení a poměrně krásné (i když subjektivní) a sofistikované rozhraní. Je vyvíjeno jako součást distribuce Deepin. LinuxExistují také balíčky pro jiné distribuce.

Jak je grafika uspořádána v LinuxPřehled různých desktopových prostředí
Létat 

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

Jak je grafika uspořádána v LinuxPř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, plocha je v Linux Rozhraní může vypadat velmi odlišně a každý si najde něco pro sebe: od velmi krásných s 3D efekty až po minimalistické, od „klasických“ až po neobvyklé, od těch, které aktivně využívají systémové prostředky, až po lehké, od velkých obrazovek až po tablety/chytré telefony.

Doufám, že se mi podařilo poskytnout představu o hlavních komponentách, které tvoří grafiku a plochu v operačním systému. 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

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster