ProHoster > Blog > Adminisztráció > Hogyan működik a grafika Linux alatt: a különböző asztali környezetek áttekintése
Hogyan működik a grafika Linux alatt: a különböző asztali környezetek áttekintése
Ez a cikk arról szól, hogyan működik a grafika Linux alatt, és milyen összetevőkből áll. Számos képernyőképet tartalmaz az asztali környezetek különféle megvalósításairól.
Ha nem igazán tesz különbséget a KDE és a GNOME között, vagy igen, de szeretné tudni, milyen más alternatívák vannak, akkor ez a cikk neked szól. Ez egy áttekintés, és bár sok nevet és kevés kifejezést tartalmaz, kezdőknek és csak a Linux felé nézőknek is hasznos lesz az anyag.
A téma a haladó felhasználók számára is érdekes lehet a távoli elérés beállítása és a vékony kliens megvalósítása során. Gyakran találkozom tapasztalt Linux-felhasználókkal olyan kijelentésekkel, hogy „csak egy parancssor van a szerveren, és nem tervezem részletesebben tanulmányozni a grafikát, mivel ez mind kell a hétköznapi felhasználóknak”. De még a Linux-szakértők is nagyon meglepődnek és boldogok, amikor felfedezik az ssh parancs „-X” opcióját (és ehhez hasznos megérteni az X szerver működését és funkcióit).
Forrás
Majdnem 15 éve tanítok Linux tanfolyamokat a "Hálózati Akadémia LANIT„És biztos vagyok benne, hogy az általam kiképzett több mint ötezer ember közül sokan olvasnak és valószínűleg cikkeket is írnak a Habrról. A kurzusok mindig nagyon intenzívek (a tanfolyam átlagos időtartama öt nap), olyan témákat kell lefedni, amelyek teljes megértéséhez legalább tíz napra van szükség. És mindig a kurzus során, a közönségtől (gyűlt újoncok vagy tapasztalt adminisztrátorok), valamint a „közönség kérdéseitől” függően mindig kiválasztom, hogy mit adjak át részletesebben, és mit felületesebben, hogy jobban odaadjak. idő a parancssori segédprogramokhoz és azok gyakorlati alkalmazásához. Elég sok ilyen téma van, ami egy kis áldozatot követel. Ezek a „Linux története”, „Különbségek a Linux disztribúciókban”, „A licencekről: GPL, BSD, ...”, „A grafikáról és az asztali környezetekről” (a cikk témája) stb. Nem mintha nem azok. fontos, de általában sokkal sürgetőbb „itt és most” kérdések merülnek fel, és csak körülbelül öt nap... A Linux operációs rendszer alapjainak általános megértéséhez azonban a rendelkezésre álló sokféleség megértése (hogy még egy konkrét Linux disztribúció, még mindig tágabb rálátása van erre az egész hatalmas és hatalmas világra, amelyet „Linuxnak” hívnak), ezeknek a témáknak a tanulmányozása hasznos és szükséges.
A cikk előrehaladtával az egyes összetevőkhöz linkeket adok azoknak, akik szeretnének mélyebben elmerülni a témában, például a Wikipédia-cikkek felé (miközben egy teljesebb/hasznosabb verzióra mutatok, ha vannak angol és orosz cikkek).
Az alapvető példákhoz és képernyőképekhez az openSUSE disztribúciót használtam. Bármilyen más közösségi fejlesztésű disztribúció használható, amennyiben nagy számú csomag van a tárolóban. Nehéz, de nem lehetetlen bemutatni az asztali tervezések sokféleségét egy kereskedelmi disztribúción, mivel gyakran csak egy vagy két legismertebb asztali környezetet használnak. Ily módon a fejlesztők szűkítik a stabil, hibakereső operációs rendszer kiadásának feladatát. Ugyanerre a rendszerre telepítettem az összes DM/DE/WM-et (a kifejezések magyarázata lentebb), amit a tárolóban találtam.
A „kék keretes” képernyőképek openSUSE-n készültek.
Más disztribúciókon készítettem „fehér keretes” képernyőképeket, ezek a képernyőképen vannak feltüntetve.
A „szürke keretes” képernyőképeket az internetről vettük, mint példákat az elmúlt évek asztali tervezésére.
Tehát kezdjük.
A grafikát alkotó fő összetevők
Három fő összetevőt emelek ki, és felsorolom őket abban a sorrendben, ahogyan a rendszer indításakor elindulnak:
DM (Display Manager);
Display Server;
DE (Asztali környezet).
Ezenkívül az asztali környezet fontos alpontjai:
Alkalmazáskezelő/indító/váltó (Start gomb);
WM (ablakkezelő);
Különféle szoftverek, amelyek az asztali környezethez tartoznak.
További részletek az egyes pontokról.
DM (Display Manager)
Az első alkalmazás, amely a „grafika” indításakor elindul, a DM (Display Manager), egy megjelenítéskezelő. Fő feladatai:
megkérdezi, hogy mely felhasználókat engedje be a rendszerbe, kérjen hitelesítési adatokat (jelszó, ujjlenyomat);
válassza ki a futtatni kívánt asztali környezetet.
Jelenleg széles körben használják különféle disztribúciókban:
Megemlítheti a Fly-DM-et is (az AstraLinuxban használatos).
A meglévő DM-ek listája folyamatosan frissül Wiki cikk.
Érdemes megjegyezni, hogy a következő képernyőképek ugyanazt a LightDM képernyőkezelőt használják, de különböző disztribúciókban (a terjesztési nevek zárójelben vannak feltüntetve). Tekintse meg, mennyire másképp néz ki ez a DM a különböző disztribúciókból származó tervezők munkájának köszönhetően.
Ebben a sokféleségben a lényeg az, hogy egyértelművé tegyük, hogy van egy alkalmazás, amely felelős a grafikák elindításáért, és lehetővé teszi a felhasználó számára, hogy hozzáférjen ezekhez a grafikákhoz, és ennek az alkalmazásnak vannak különböző megvalósításai, amelyek megjelenésükben és funkcionalitásukban kissé eltérnek (a tervezési környezetek, felhasználók kiválasztása, verzió rossz látású felhasználók számára, távoli hozzáférés elérhetősége protokollon keresztül XDMCP).
Display Server
A Display Server egyfajta grafikus alap, melynek fő feladata a videokártya, a monitor és a különféle beviteli eszközök (billentyűzet, egér, érintőpad) használata. Vagyis egy „grafikában” megjelenített alkalmazásnak (például böngészőnek vagy szövegszerkesztőnek) nem kell tudnia, hogyan kell közvetlenül dolgozni az eszközökkel, és nem kell tudnia az illesztőprogramokról sem. Az X Window gondoskodik mindezekről.
Amikor a Display Server-ről beszélünk, sok éven át Linuxban, sőt Unixban is az alkalmazásra gondoltak X Ablakrendszer vagy a köznyelvben X (X).
Először indítsuk el az X-eket és számos grafikus alkalmazást bennük.
Workshop „X futtatása és a benne lévő alkalmazások”
Az újonnan létrehozott webinaruser felhasználótól kezdve mindent megcsinálok (egyszerűbb lenne, de nem biztonságosabb mindent rootként csinálni).
Mivel X-nek hozzáférésre van szüksége az eszközökhöz, adok hozzáférést: Az eszközök listáját úgy határoztuk meg, hogy megvizsgáltuk a hibákat az X indításakor a naplóban (/home/webinaruser/.local/share/xorg/Xorg.77.log)
Opciók: * -retro - indítás „szürke” klasszikus háttérrel, nem pedig feketével, mint az alapértelmezett; * :77 - Beállítottam (ésszerű tartományon belül bármelyik lehetséges, csak a :0-t nagy valószínűséggel már lefoglalja a már futó grafika) képernyőszámot, tulajdonképpen valami egyedi azonosítót, amivel több futó X-et is meg lehet majd különböztetni; * vt8 - a terminált jelöli, itt a /dev/tty8, amelyen X-ek jelennek meg).
Indítsa el a grafikus alkalmazást:
Ehhez először beállítunk egy változót, amely alapján az alkalmazás megérti, hogy az általam futó X-ek közül melyiket kell elküldeni a rajzolnivalónak:
% export DISPLAY=":77"
A futó X-ek listáját így tekintheti meg:
ps -fwwC X
Miután beállítottuk a változót, elindíthatunk alkalmazásokat az X-ben – például elindítok egy órát:
% xclock -update 1 &
% xcalc &
% xeyes -g 200x150-300+50 &
A részlet főbb gondolatai és következtetései:
X-nek hozzáférésre van szüksége az eszközökhöz: terminál, videokártya, bemeneti eszközök,
Az X-ek önmagukban nem jelenítenek meg semmilyen interfész elemet - ez egy szürke (ha „--retro” opcióval) vagy bizonyos méretű fekete vászon (például 1920x1080 vagy 1024x768), hogy grafikus alkalmazásokat tudjon futtatni.
A „kereszt” mozgása azt mutatja, hogy az X-ek követik az egér helyzetét, és továbbítják ezt az információt a benne futó alkalmazásoknak.
Az X-ek a billentyűzet billentyűleütéseit is elkapják, és továbbítják ezt az információt az alkalmazásoknak.
A DISPLAY változó megmondja a grafikus alkalmazásoknak, hogy melyik képernyőn (minden X egyedi képernyőszámmal indul indításkor), és ezért a gépemen futók közül melyikben kell megrajzolni az X-eket. (Lehetőség van távoli gép megadására is ebben a változóban, és kimenetet küldeni a hálózat másik gépén futó X-eknek.) Mivel az Xs -auth opció nélkül indult, nem kell foglalkozni a XAUTHORITY változóval vagy az xhost-tal. parancs.
A grafikus alkalmazások (vagy ahogy az X kliensek hívják) X-ben jelennek meg – anélkül, hogy mozgatni/bezárni/változtatni lehetne őket "-g (Szélesség)x(Magasság)+(OffsetFromFromEdge)+(OffsetFromTopEdge)". Mínuszjellel, jobbról, illetve alsó szélről.
Két kifejezést érdemes megemlíteni: X-szerver (így hívják az X-eket) és X-kliensek (így hívnak minden olyan grafikus alkalmazást, amely X-ben fut). Van egy kis zavar ennek a terminológiának a megértésében; sokan pontosan az ellenkezőjét értik. Abban az esetben, ha egy „kliens gépről” (távelérési terminológiával) egy „szerverhez” (távelérési terminológiában) kapcsolódom, hogy a szerverről grafikus alkalmazást jelenítsek meg a monitoromon, akkor az X szerver elindul a gép, ahol a monitor (azaz a „kliens gépen”, nem a „szerveren”), és X kliens elindul és fut a „szerveren”, bár ezek megjelennek a „kliens gép” monitorán.
DE alkatrészek
Ezután nézzük meg azokat az összetevőket, amelyek általában egy asztalt alkotnak.
DE összetevők: Start gomb és tálca
Kezdjük az úgynevezett „Start” gombbal. Gyakran ez egy külön kisalkalmazás, amelyet a „Tálcán” használnak. Általában van egy kisalkalmazás is a futó alkalmazások közötti váltáshoz.
Különböző asztali környezeteket megvizsgálva az ilyen alkalmazásokat „Apps Manager (Launcher/Switcher)” általános néven foglalnám össze, vagyis egy alkalmazás-kezelési eszköz (a futók elindítása és váltása), valamint megjelölném azokat a segédprogramokat, amelyek példa erre az alkalmazástípusra.
A „Start” gomb formájában jelenik meg a klasszikus (a képernyő egyik szélének teljes hosszában) „Tálca”:
Külön „MacOS alakú tálca” is lehet (nem a képernyő szélének teljes hosszában), bár sok tálca mindkét stílusban megjelenhet. Itt a fő különbség inkább pusztán vizuális - a „piktogram nagyítási hatása lebegéskor”.
És/vagy olyan szolgáltatás, amely a gyorsbillentyűk megnyomásakor alkalmazásokat indít el (sok asztali környezetben hasonló összetevőre van szükség, amely lehetővé teszi a saját gyorsbillentyűk konfigurálását):
○ sxhkd.
Különféle menüszerű „indítók” is vannak (az angol Launch (launch)-ból):
Felsorolom a „régi WM DE elemekkel” is. Azok. az ablakkezelőn kívül olyan elemeik vannak, mint a „Start” gomb és a „Tálca”, amelyek inkább a teljes értékű DE-re jellemzőek. Bár milyen „öregek”, ha az IceWM és a WindowMaker is 2020-ban már kiadta frissített verzióit. Kiderült, hogy nem a „régiek”, hanem a „régiek” helyesebb:
A „klasszikus” („stack ablakkezelők”) mellett külön említést érdemel csempézett WM, amely lehetővé teszi az ablakok „csempézéses” elhelyezését a teljes képernyőn, valamint egyes alkalmazásoknál külön asztalt minden elindított alkalmazáshoz a teljes képernyőn. Ez egy kicsit szokatlan azok számára, akik korábban nem használták őket, de mivel én magam is elég régóta használok egy ilyen felületet, elmondhatom, hogy ez elég kényelmes és gyorsan megszokja az ilyen felületet, ami után A „klasszikus” ablakkezelők már nem tűnnek kényelmesnek.
A projektet külön is érdemes megemlíteni Compiz és egy olyan koncepció, mint a „Composite Window Manager”, amely hardveres gyorsítási képességeket használ az átlátszóság, az árnyékok és a különféle háromdimenziós effektusok megjelenítésére. Körülbelül 10 évvel ezelőtt a 3D effektusok fellendülése volt a Linux asztali számítógépeken. Napjainkban a DE-be épített ablakkezelők közül sok részlegesen használja az összetett képességeket. Nemrég jelent meg Úttűz - a Compiz for Wayland-hez hasonló funkcionalitással rendelkező termék.
A különféle ablakkezelők részletes listája szintén megtalálható a következő helyen: összehasonlító cikk.
DE összetevők: pihenés
Érdemes megjegyezni a következő asztali komponenseket is (itt egy alkalmazástípus leírására bevett angol kifejezéseket használok - ezek nem maguknak az alkalmazásoknak a neve):
Kisalkalmazások:
Szoftver (Widget eszközkészlet) - gyakran egy bizonyos „minimális szoftverkészlet” kerül a környezetbe:
A fenti komponensekből az úgynevezett „asztali tervezési környezetet” kapjuk. Gyakran minden összetevőjét ugyanazon grafikus könyvtárak felhasználásával és ugyanazon tervezési elvek alapján fejlesztik. Így legalább az alkalmazások megjelenésének általános stílusa megmarad.
Itt a következő, jelenleg létező asztali környezeteket emelhetjük ki:
Még a történelemből is vannak ilyen érdekes példák: 2003-2007-ben a Suntól „Project Looking Glass” néven „3D desktop design” készült Linuxra. Jómagam ezt az asztali gépet használtam, vagy inkább „játszottam” vele, mivel nehezen használható. Ezt a „3D-s tervezést” Java nyelven írták abban az időben, amikor még nem voltak 3D-támogató videokártyák. Ezért minden effektust újraszámolt a processzor, és a számítógépnek nagyon erősnek kellett lennie, különben minden lassan működött. De gyönyörű lett. A háromdimenziós alkalmazáscsempék forgathatók/kibonthatók. Az asztal hengerében 360 fokos panorámából készült tapétával lehetett forgatni. Számos gyönyörű alkalmazás volt: például zenehallgatás „CD-csere” formájában stb. Megnézheti a YouTube-on videó Erről a projektről valószínűleg csak ezeknek a videóknak lesz rossz a minősége, mivel akkoriban nem lehetett jó minőségű videókat feltölteni.
Könnyű asztali számítógép. A projekt meglehetősen hosszú ideje, 1996 óta létezik. Az utóbbi években a nehezebb KDE-vel és GNOME-mal szemben igen népszerű volt számos olyan disztribúción, amelyek könnyű és „klasszikus” asztali felületet igényelnek. Számos beállítással és számos saját programmal rendelkezik: terminál (xfce4-terminal), fájlkezelő (thunar), képnézegető (ristretto), szövegszerkesztő (egérpad).
Az Elementary OS disztribúcióban használatos. Itt azt mondhatjuk, hogy vannak „asztali számítógépek”, amelyeket egy külön disztribúción belül fejlesztenek és használnak, és más disztribúciókban nem nagyon használják (ha nem „egyáltalán nem használják”). Legalábbis még nem tettek szert népszerűségre, és nem győzték meg a közönség nagy részét megközelítésük előnyeiről. A Pantheon a macOS-hez hasonló interfészt kíván építeni.
Nagy hangsúlyt fektetve a grafikus effektusokra és widgetekre (azokból az időkből, amikor más asztali környezetekben nem voltak asztali widgetek, például a naptár/óra). Saját könyvtárakat használ. Számos saját „szép” alkalmazás létezik: terminál (Terminológia), videolejátszó (Rage), képnézegető (Ephoto).
Kezdetben egy „klasszikus” asztali felület, amelyet a QT-könyvtárban írt KDE-vel szemben hoztak létre, akkoriban olyan licenc alatt terjesztették, amely nem volt túl kényelmes a kereskedelmi terjesztésekhez.
A harmadik verziótól kezdve a GNOME a GNOME Shell-lel kezdett megjelenni, amely „nem klasszikus megjelenésű”, ami nem minden felhasználónak tetszett (az interfészek hirtelen változásait a felhasználók nehezen fogadják el). Ennek eredményeként olyan fork projektek jelentek meg, amelyek folytatják ennek az asztalnak a fejlesztését a „klasszikus” stílusban: MATE és Cinnamon. Alapértelmezés szerint sok kereskedelmi disztribúcióban használatos. Számos beállítással és saját alkalmazásokkal rendelkezik.
A GNOME2-ből jött létre, és továbbra is fejleszti ezt a tervezési környezetet. Számos olyan beállítást és alkalmazásvillát tartalmaz, amelyeket a GNOME2-ben használtak (új neveket használnak), hogy ne keverjék össze a forkokat a GNOME3 új verziójával.
A GNOME "klasszikus" stílusú forkja, amelyet a Solus disztribúció részeként fejlesztettek ki, de ma már önálló asztali számítógépként is elérhető számos más disztribúción.
KDE_Plasma (vagy ahogy gyakran nevezik, egyszerűen KDE)
A KDE projekt által fejlesztett asztali környezet.
A grafikus felületről és számos grafikus alkalmazásról, amely ezen az asztalon belül fejlesztették ki, hatalmas számú beállítás érhető el az egyszerű felhasználó számára.
2008-ban a KDE kiadta a KDE Plasma új megvalósítását (az asztali motort alaposan átírták). Továbbá, mint a GNOME/MATE esetében, ez sem tetszett minden KDE-rajongónak. Ennek eredményeként megjelent a projekt elágazása, folytatva az előző verzió, a TDE (Trinity Desktop Environment) fejlesztését.
Az egyik új asztali környezet, amelyet Qt-vel írnak (amelyre a KDE van írva). Sok beállítást tartalmaz, és elég szép (bár ez szubjektív fogalom) és jól kidolgozott felület. A Deepin Linux disztribúció részeként lett kifejlesztve. Vannak csomagok más disztribúciókhoz is
Légy
Példa egy Qt használatával írt asztali környezetre. Az Astra Linux disztribúció részeként fejlesztették ki.
Könnyű asztali környezet. Több korábbi példához hasonlóan a Qt használatával írva. Valójában ez az LXDE projekt folytatása, és a Razor-qt projekttel való egyesülés eredménye.
Amint láthatja, a Linux asztala nagyon eltérően nézhet ki, és mindenki ízlésének megfelelő felületet talál: a nagyon széptől és 3D-s effektusoktól a minimalisztikusig, a „klasszikustól” a szokatlanig, a rendszererőforrások aktív használatától a könnyűig, a nagytól képernyők táblagépekre/okostelefonokra.
Nos, szeretném remélni, hogy képet tudtam adni arról, hogy mik a grafikus és az asztali számítógép fő összetevői a Linux operációs rendszerben.
A cikk anyagát 2020 júliusában tesztelték egy webináriumon. Meg lehet nézni itt.
Ez minden. Remélem, ez hasznos volt. Ha kérdése, észrevétele van, írjon. szívesen válaszolok. Nos, gyere és tanulj itt "LANIT Hálózati Akadémia"!