Kako deluje grafika v Linuxu: pregled različnih namiznih okolij

Ta članek govori o tem, kako grafika deluje v Linuxu in iz katerih komponent je sestavljena. Vsebuje veliko posnetkov zaslona različnih izvedb namiznih okolij. 

Če v resnici ne ločite med KDE in GNOME ali pa razlikujete, vendar bi radi vedeli, katere druge možnosti obstajajo, potem je ta članek za vas. Je pregled, in čeprav vsebuje veliko imen in malo izrazov, bo gradivo uporabno tudi za začetnike in tiste, ki se šele zanimajo za Linux.

Tema bo morda zanimiva tudi za napredne uporabnike pri nastavljanju oddaljenega dostopa in implementaciji tankega odjemalca. Pogosto srečam izkušene uporabnike Linuxa z izjavami "na strežniku je samo ukazna vrstica in ne nameravam podrobneje preučevati grafike, saj je to vse potrebno za običajne uporabnike." Toda tudi strokovnjaki za Linux so zelo presenečeni in veseli, ko odkrijejo možnost "-X" za ukaz ssh (in za to je koristno razumeti delovanje in funkcije strežnika X).

Kako deluje grafika v Linuxu: pregled različnih namiznih okolijVir

Tečaje Linuxa poučujem že skoraj 15 let na "Omrežna akademija LANIT"in prepričan sem, da mnogi od več kot pet tisoč ljudi, ki sem jih usposabljal, berejo in verjetno pišejo članke na Habru. Tečaji so vedno zelo intenzivni (povprečno trajanje tečaja je pet dni), obravnavati morate teme, ki zahtevajo vsaj deset dni za popolno razumevanje. In vedno se med tečajem, odvisno od občinstva (zbranih novincev ali izkušenih administratorjev), pa tudi od »vprašanj občinstva«, odločim, kaj bom povedal bolj podrobno in kaj bolj površno, da se bolj posvetim čas za pripomočke ukazne vrstice in njihovo praktično uporabo. Dovolj je takšnih tem, ki zahtevajo malo žrtvovanja. To so »Zgodovina Linuxa«, »Razlike v distribucijah Linuxa«, »O licencah: GPL, BSD, ...«, »O grafiki in namiznih okoljih« (tema tega članka) itd. Ne da niso pomembno, vendar je običajno veliko bolj perečih vprašanj "tukaj in zdaj" in le približno pet dni ... Vendar pa je za splošno razumevanje osnov operacijskega sistema Linux potrebno razumevanje razpoložljive raznolikosti (tako da tudi z uporabo enega posebnega Distribucija Linuxa, še vedno imate širši pogled na ves ta ogromen in prostran svet, ki se imenuje "Linux"), je preučevanje teh tem koristno in potrebno. 

Ko članek napreduje, nudim povezave za vsako komponento za tiste, ki se želijo poglobiti v temo, na primer do člankov v Wikipediji (pri čemer pokažem na popolnejšo/uporabnejšo različico, če obstajajo angleški in ruski članki).

Za osnovne primere in posnetke zaslona sem uporabil distribucijo openSUSE. Lahko se uporabi katera koli druga distribucija, ki jo je razvila skupnost, če je v skladišču veliko paketov. Težko je, a ne nemogoče, prikazati raznolikost zasnove namizja v komercialni distribuciji, saj pogosto uporabljajo samo eno ali dve najbolj znani namizni okolji. Na ta način razvijalci zožijo nalogo izdaje stabilnega operacijskega sistema z odpravljenimi napakami. Na isti sistem sem namestil vse DM/DE/WM (razlaga teh izrazov spodaj), ki sem jih našel v skladišču. 

Posnetki zaslona z "modrimi okvirji" so bili posneti na openSUSE. 

V drugih distribucijah sem posnel posnetke zaslona z "belimi okvirji", prikazani so na posnetku zaslona. 

Posnetki zaslona s "sivimi okvirji" so bili vzeti iz interneta kot primeri dizajnov namizja iz preteklih let.

Torej, začnimo.

Glavne komponente, ki sestavljajo grafiko

Izpostavil bom tri glavne komponente in jih navedel v vrstnem redu, v katerem se zaženejo ob zagonu sistema: 

  1. DM (Upravitelj zaslona);
  2. prikazovalni strežnik;
  3. DE (namizno okolje).

Poleg tega kot pomembni podčleni namiznega okolja: 

  • Apps Manager/Launcher/Switcher (gumb Start); 
  • WM (Upravitelj oken);
  • različne programske opreme, ki je priložena namiznemu okolju.

Več podrobnosti o vsaki točki.

DM (Upravitelj zaslona)

Prva aplikacija, ki se zažene, ko zaženete »grafiko«, je DM (Display Manager), upravitelj zaslona. Njegove glavne naloge:

  • vprašati, katere uporabnike dovoliti v sistem, zahtevati avtentikacijske podatke (geslo, prstni odtis);
  • izberite, katero namizno okolje želite izvajati.

Trenutno se pogosto uporablja v različnih distribucijah: 

Seznam obstoječih DM-jev ažuriramo v Wiki članek. 

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Treba je omeniti, da naslednji posnetki zaslona uporabljajo isti upravitelj zaslona LightDM, vendar v različnih distribucijah (imena distribucij so navedena v oklepajih). Oglejte si, kako drugačen je lahko ta DM videti zahvaljujoč delu oblikovalcev iz različnih distribucij.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Glavna stvar v tej raznolikosti je pojasniti, da obstaja aplikacija, ki je odgovorna za zagon grafike in omogoča uporabniku dostop do te grafike, in da obstajajo različne izvedbe te aplikacije, ki se razlikujejo po videzu in nekoliko po funkcionalnosti (izbor projektna okolja, izbira uporabnikov, različica za slabovidne uporabnike, razpoložljivost oddaljenega dostopa preko protokola XDMCP).

Display Server

Display Server je neke vrste grafična podlaga, katere glavna naloga je delo z video kartico, monitorjem in različnimi vhodnimi napravami (tipkovnica, miška, sledilne ploščice). To pomeni, da aplikaciji (na primer brskalniku ali urejevalniku besedil), ki je upodobljena v "grafiki", ni treba znati neposredno delati z napravami, niti ji ni treba poznati gonilnikov. Za vse to poskrbi X Window.

Ko se govori o Display Serverju, je bila dolga leta v Linuxu in celo v Unixu mišljena aplikacija X Window System ali v navadnem jeziku X (X). 

Zdaj veliko distribucij nadomešča X Wayland. 

Preberete lahko tudi:

Najprej zaženimo X in več grafičnih aplikacij v njih.

Delavnica “Poganjanje X in aplikacije v njem”

Vse bom naredil od novo ustvarjenega uporabnika webinaruser (lažje, a ne varneje bi bilo, če bi vse naredil kot root).

  • Ker X-ji potrebujejo dostop do naprav, dam dostop: Seznam naprav je bil določen z ogledom napak pri zagonu X v dnevniku (/home/webinaruser/.local/share/xorg/Xorg.77.log) 

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

  • Po tem zaženem X-je:

% X -retro :77 vt8 & 

Možnosti: * -retro - zagon s "sivim" klasičnim ozadjem in ne s črno kot privzeto; * :77 - Nastavil sem (možna je katera koli v razumnem obsegu, le :0 je najverjetneje že zasedena z že delujočo grafiko) številko zaslona, ​​pravzaprav nekakšen unikatni identifikator, po katerem bo mogoče ločiti več delujočih X-jev; * vt8 - označuje terminal, tukaj /dev/tty8, na katerem bodo prikazani X-ji). 

  • Zaženite grafično aplikacijo:

Da bi to naredili, najprej nastavimo spremenljivko, s katero bo aplikacija razumela, kateri od X-jev, ki jih izvajam, da pošlje, kar je treba narisati: 

% export DISPLAY=":77" 

Seznam tekočih X-jev si lahko ogledate takole: 

ps -fwwC X

Ko smo nastavili spremenljivko, lahko zaženemo aplikacije v našem X-ju - jaz na primer zaženem uro:

% xclock -update 1 & 

% xcalc & 

% xeyes -g 200x150-300+50 &

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Glavne ideje in sklepi iz tega fragmenta:

  • X-ji potrebujejo dostop do naprav: terminal, video kartica, vhodne naprave,
  • Sami X-ji ne prikazujejo nobenih elementov vmesnika - je sivo (če je z možnostjo "--retro") ali črno platno določenih velikosti (na primer 1920x1080 ali 1024x768), da se v njem izvajajo grafične aplikacije.
  • Gibanje "križa" kaže, da X-ji sledijo položaju miške in te informacije posredujejo aplikacijam, ki se v njej izvajajo.
  • X-ji tudi ujamejo pritiske tipk na tipkovnici in te informacije posredujejo aplikacijam.
  • Spremenljivka DISPLAY pove grafični aplikaciji, na katerem zaslonu (vsak X se ob zagonu zažene z edinstveno številko zaslona) in torej na katerem od tistih, ki se izvajajo na mojem računalniku, bo treba X narisati. (Možno je tudi določiti oddaljeni stroj v tej spremenljivki in poslati izhod X-jem, ki se izvajajo na drugem računalniku v omrežju.) Ker so bili X-ji zagnani brez možnosti -auth, se ni treba ukvarjati s spremenljivko XAUTHORITY ali xhost. ukaz.
  • Grafične aplikacije (ali kot jih kličejo odjemalci X) so upodobljene v X-ih - brez možnosti premikanja/zapiranja/spreminjanja "-g (Širina)x(Višina)+(OdmikOdLevegaRoba)+(OdmikOdZgornjegaRoba)". Z znakom minus z desne oziroma s spodnjega roba.
  • Dva izraza, ki ju je vredno omeniti: X-strežnik (tako se imenujejo X-ji) in X-odjemalci (tako se imenuje vsaka grafična aplikacija, ki deluje v X-ih). Pri razumevanju te terminologije je malo zmede, mnogi jo razumejo ravno nasprotno. V primeru, ko se iz »odjemalskega stroja« (v terminologiji oddaljenega dostopa) povežem s »strežnikom« (v terminologiji oddaljenega dostopa), da prikažem grafično aplikacijo s strežnika na svojem monitorju, se strežnik X zažene na računalnik, kjer se monitor (to je na "odjemalskem računalniku", ne na "strežniku"), in odjemalci X zaženejo in izvajajo na "strežniku", čeprav so prikazani na monitorju "odjemalskega stroja". 

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij

DE komponente

Nato si poglejmo komponente, ki običajno sestavljajo namizje.

Komponente DE: gumb Start in opravilna vrstica

Začnimo s tako imenovanim gumbom »Start«. Pogosto je to ločen programček, ki se uporablja v "opravilni vrstici". Običajno obstaja tudi programček za preklapljanje med delujočimi aplikacijami.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Po ogledu različnih namiznih okolij bi takšne aplikacije povzel pod splošnim imenom »Apps Manager (Launcher/Switcher)«, to je orodje za upravljanje aplikacij (zagon in preklapljanje med delujočimi), in navedel tudi pripomočke, ki so primer te vrste aplikacije.

  • Na voljo je v obliki gumba »Start« na klasični (celotna dolžina enega od robov zaslona) »Opravilni vrstici«:

    ○ plošča xfce4,
    ○ mate-panel/gnome-panel,
    ○ vala-panel,
    ○ odtenek2.

  • Lahko imate tudi ločeno »opravilno vrstico v obliki MacOS« (ne v celotni dolžini roba zaslona), čeprav se lahko številne opravilne vrstice prikažejo v obeh slogih. Tukaj je glavna razlika zgolj vizualna - prisotnost "učinka povečave piktograma pri lebdenju."

    ○ docky,
    ○ latte-dock,
    ○ cairo-dock,
    ○ deska.

  • In/ali storitev, ki zažene aplikacije, ko pritisnete bližnjične tipke (v številnih namiznih okoljih je potrebna podobna komponenta, ki vam omogoča konfiguracijo lastnih bližnjičnih tipk):

    ○ sxhkd.

  • Obstajajo tudi različni "zaganjalniki" v obliki menija (iz angleškega Launch (zagon)):

    ○ dmenu-run,
    ○ rofi -show drun,
    ○ albert,
    ○ grun.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij

Komponente DE: WM (Upravitelj oken)

Več podrobnosti v ruščini

Več podrobnosti v angleščini

WM (Window Manager) - aplikacija, ki je odgovorna za upravljanje oken, dodaja možnost:

  • premikanje oken po namizju (vključno s standardnim z držanjem tipke Alt na katerem koli delu okna, ne le v naslovni vrstici);
  • spreminjanje velikosti oken, na primer z vlečenjem "okenskega okvirja";
  • okenskemu vmesniku doda “naslov” in gumbe za minimiziranje/maksimiranje/zapiranje aplikacije;
  • koncept, katera aplikacija je v "fokusu".

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Naštel bom najbolj znane (v oklepaju navedem, kateri DE je privzeto uporabljen):

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Navedel bom tudi "star WM z elementi DE". Tisti. poleg upravitelja oken imajo elemente, kot sta gumb »Start« in »Opravilna vrstica«, ki sta bolj značilna za polnopravni DE. Čeprav sta "stara", če sta IceWM in WindowMaker že izdala posodobljeni različici leta 2020. Izkazalo se je, da je pravilneje ne "stari", ampak "starodobniki":

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Poleg “klasičnih” (“stack windows managers”) velja posebej omeniti s ploščicami WM, ki vam omogoča, da okna razporedite po celem zaslonu, kot tudi za nekatere aplikacije ločeno namizje za vsako zagnano aplikacijo na celotnem zaslonu. To je malo nenavadno za ljudi, ki jih še niso uporabljali, a ker tudi sam uporabljam tak vmesnik že kar dolgo, lahko rečem, da je zelo priročen in se na tak vmesnik hitro navadiš, potem pa “klasični” upravljalniki oken se ne zdijo več priročni.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Projekt je vreden tudi ločene omembe Compiz in koncept, kot je "Upravitelj sestavljenih oken", ki uporablja zmožnosti strojnega pospeševanja za prikaz prosojnosti, senc in različnih tridimenzionalnih učinkov. Pred približno 10 leti je bil razcvet 3D učinkov na namizjih Linux. Dandanes veliko upraviteljev oken, vgrajenih v DE, delno uporablja sestavljene zmožnosti. Pred kratkim pojavil Wayfire - izdelek s podobno funkcionalnostjo kot Compiz za Wayland.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Podroben seznam različnih upraviteljev oken lahko najdete tudi v  primerjalni članek.

DE komponente: ostalo

Omeniti velja tudi naslednje komponente namizja (tukaj uporabljam uveljavljene angleške izraze za opis vrste aplikacije - to niso imena samih aplikacij):

  • Programčki:
  • Programska oprema (orodja Widget) - pogosto je z okoljem priložen določen "minimalni nabor" programske opreme:

DE (namizno okolje)

Več podrobnosti v angleščini

Iz zgornjih komponent dobimo tako imenovano »Desktop Design Environment«. Pogosto so vse njegove komponente razvite z uporabo istih grafičnih knjižnic in z uporabo istih načel oblikovanja. Tako se ohrani vsaj splošni slog videza aplikacij.

Tukaj lahko izpostavimo naslednja trenutno obstoječa namizna okolja:

GNOME in KDE veljata za najpogostejša, XFCE pa jima je tesno za petami.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Primerjavo različnih parametrov v obliki tabele najdete v ustreznem Članek iz Wikipedije.  

DE sorta

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Project_Looking_Glass

Obstajajo celo takšni zanimivi primeri iz zgodovine: v letih 2003-2007 je bila izdelana "3D zasnova namizja" za Linux z imenom "Project Looking Glass" podjetja Sun. Tudi sam sem uporabljal to namizje oziroma se z njim »igral«, saj je bilo težko uporabljati. Ta "3D dizajn" je bil napisan v Javi v času, ko še ni bilo video kartic s podporo za 3D. Zato je vse učinke preračunal procesor, računalnik pa je moral biti zelo zmogljiv, sicer je vse delovalo počasi. Izpadlo pa je čudovito. Tridimenzionalne aplikacijske ploščice je bilo mogoče zasukati/razširiti. V cilindru namizja je bilo mogoče vrteti z ozadjem iz 360-stopinjske panorame. Bilo je več lepih aplikacij: na primer poslušanje glasbe v obliki "menjave CD-jev" itd. Ogledate si ga lahko na YouTubu Video glede tega projekta bo najverjetneje slaba samo kakovost teh videov, saj v tistih letih ni bilo mogoče nalagati kakovostnih videov.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Xfce

Lahko namizje. Projekt obstaja že dolgo, od leta 1996. V zadnjih letih je bil precej priljubljen, v nasprotju s težjima KDE in GNOME, v številnih distribucijah, ki zahtevajo lahek in "klasičen" namizni vmesnik. Ima veliko nastavitev in veliko število lastnih programov: terminal (xfce4-terminal), upravitelj datotek (thunar), pregledovalnik slik (ristretto), urejevalnik besedil (mousepad).

 
Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Pantheon 

Uporablja se v osnovni distribuciji OS. Tu lahko rečemo, da obstajajo »namizja«, ki so razvita in uporabljena znotraj ene ločene distribucije in se v drugih distribucijah ne uporabljajo veliko (če ne »sploh ne uporabljajo«). Vsaj še niso pridobili popularnosti in prepričali večine občinstva o prednostih svojega pristopa. Pantheon želi zgraditi vmesnik, podoben macOS. 

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Možnost s priklopno ploščo:

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
razsvetljenje

Močan poudarek na grafičnih učinkih in pripomočkih (iz časov, ko druga namizna okolja niso imela namiznih pripomočkov, kot sta koledar/ura). Uporablja lastne knjižnice. Obstaja velik nabor lastnih "lepih" aplikacij: terminal (Terminology), video predvajalnik (Rage), pregledovalnik slik (Ephoto).

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Moksha

To je fork Enlightenment17, ki se uporablja v distribuciji BodhiLinux. 

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
GNOME

Sprva "klasični" namizni vmesnik, ustvarjen v nasprotju s KDE, ki je bil napisan v knjižnici QT, takrat distribuiran pod licenco, ki ni bila zelo primerna za komercialne distribucije. 

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
GNOME_Shell

Od tretje različice je GNOME začel prihajati z lupino GNOME Shell, ki ima »neklasičen videz«, kar ni bilo všeč vsem uporabnikom (vse nenadne spremembe vmesnikov uporabniki težko sprejmejo). Posledica tega je nastanek fork projektov, ki nadaljujejo razvoj tega namizja v "klasičnem" slogu: MATE in Cinnamon. Privzeto se uporablja v številnih komercialnih distribucijah. Ima veliko število nastavitev in lastnih aplikacij. 

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
MATE 

Izšel je iz GNOME2 in še naprej razvija to oblikovalsko okolje. Ima veliko nastavitev in razcepov aplikacij, ki so bili uporabljeni že v GNOME2 (uporabljena so nova imena), da ne bi zamenjali razcepov z njihovo novo različico za GNOME3).

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Cimet

Razcep lupine GNOME Shell, ki uporabnikom ponuja "klasičen" vmesnik (kot je bil primer v GNOME2). 

Ima veliko nastavitev in enake aplikacije kot za GNOME Shell.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Budgie

Razcep v "klasičnem" slogu GNOME, ki je bil razvit kot del distribucije Solus, zdaj pa je na voljo tudi kot samostojno namizje v različnih drugih distribucijah.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
KDE_Plazma (ali kot se pogosto imenuje preprosto KDE) 

Namizno okolje, razvito v okviru projekta KDE. 

Preprostemu uporabniku je na voljo ogromno nastavitev iz grafičnega vmesnika in številnih grafičnih aplikacij, razvitih v okviru tega namizja.

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Trinity

Leta 2008 je KDE izdal svojo novo izvedbo KDE Plasma (namizni motor je bil močno prepisan). Poleg tega, tako kot pri GNOME/MATE, ni bil všeč vsem ljubiteljem KDE. Posledično se je pojavila vilica projekta, ki nadaljuje razvoj prejšnje različice, imenovane TDE (Trinity Desktop Environment).

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Deepin_DE

Eno od novih namiznih okolij, napisanih s Qt (na katerem je napisan KDE). Ima veliko nastavitev in je precej lep (čeprav je to subjektiven koncept) in dobro razvit vmesnik. Razvit kot del distribucije Deepin Linux. Obstajajo tudi paketi za druge distribucije

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
Fly 

Primer namiznega okolja, napisanega s Qt. Razvit kot del distribucije Astra Linux. 

Kako deluje grafika v Linuxu: pregled različnih namiznih okolij
LXQt

Lahko namizno okolje. Kot več prejšnjih primerov, napisanih s Qt. Pravzaprav gre za nadaljevanje projekta LXDE in rezultat združitve s projektom Razor-qt.

Kot lahko vidite, je lahko namizje v Linuxu videti zelo različno in obstaja primeren vmesnik za vsak okus: od zelo lepega in s 3D učinki do minimalističnega, od "klasičnega" do nenavadnega, od aktivno uporabljajočega sistemskega sredstva do lahkega, od velikega zaslonov na tablice/pametne telefone.

No, rad bi upal, da sem lahko dal idejo o tem, katere so glavne komponente grafike in namizja v OS Linux.

Gradivo za ta članek je bilo preizkušeno julija 2020 na spletnem seminarju. Lahko gledaš tukaj.

To je vse. Upam, da je bilo to koristno. Če imate kakršna koli vprašanja ali komentarje, pišite. Z veseljem odgovorim. No, pridi in študiraj "LANIT Network Academy"!

Vir: www.habr.com

Dodaj komentar