Kako grafika radi u Linuxu: pregled različitih desktop okruženja

Ovaj članak govori o tome kako Linux grafika funkcionira i od kojih se komponenti sastoji. Ima mnogo snimaka ekrana različitih implementacija desktop okruženja. 

Ako nemate veliku razliku između KDE-a i GNOME-a, ili ako jeste, ali želite da znate koje su druge alternative, onda je ovaj članak za vas. To je pregled, i iako ima mnogo imena i nekoliko pojmova, materijal će također biti koristan za početnike i koji samo gledaju na Linux.

Ova tema također može biti od interesa za napredne korisnike prilikom postavljanja udaljenog pristupa i prilikom implementacije tankog klijenta. Često susrećem prilično iskusne Linuxoide s izjavama „na serveru postoji samo komandna linija i ne planiram detaljnije proučavati grafiku, jer je to sve potrebno običnim korisnicima“. Ali čak su i poznavaoci Linuxa iznenađeni i sretni što otkrivaju opciju "-X" za ssh naredbu (a za to je korisno razumjeti rad i funkcije X servera).

Kako grafika radi u Linuxu: pregled različitih desktop okruženjaIzvor

Predajem Linux kurseve skoro 15 godina na "Mrežna akademija LANIT„I siguran sam da mnogi od tih više od pet hiljada ljudi koje sam obučavao čitaju i vjerovatno pišu članke na Habru. Kursevi su uvijek veoma zauzeti (prosječno trajanje kursa je pet dana), potrebno je razgovarati o temama koje zahtijevaju najmanje deset dana za potpuno upoznavanje. I uvijek u toku kursa, ovisno o publici (okupljeni novajlije ili iskusni administratori), kao i "pitanjima publike", biram šta ću prenijeti detaljnije, a šta je površnije kako bih posvetio više vremena uslužne programe komandne linije i njihovu praktičnu primjenu. Ima dovoljno takvih tema koje se moraju malo žrtvovati. To su “Istorija Linuxa”, “Razlike u Linux distribucijama”, “O licencama: GPL, BSD,…”, “O grafičkim i desktop okruženjima” (tema ovog članka) itd. Nije da nisu bitne, ali obično ima mnogo relevantnijih pitanja „ovdje i sada“ i samo nekih pet dana... Međutim, za opće razumijevanje osnova Linux OS-a, razumijevanje dostupnosti raznolikosti (tako da čak i korištenje jedne specifične Linux distribucije , ipak imaju širi pogled na sav taj ogroman i nepregledni svijet koji se zove "Linux") korisno je i potrebno proučiti ove teme. 

U cijelom članku, za svaku komponentu, dajem veze za one koji žele dublje zaroniti u temu, na primjer, na članke na Wikipediji (dok ukazujem na potpuniju / korisniju verziju ako postoje članci na engleskom i ruskom).

Za osnovne primjere i snimke ekrana koristio sam openSUSE distribuciju. Bilo je moguće koristiti bilo koju drugu distribuciju razvijenu u zajednici sa velikim brojem paketa u spremištu. Teško je, ali moguće, demonstrirati raznolikost dizajna desktopa na komercijalnoj distribuciji, jer često koriste samo jedno ili dva od poznatijih desktop okruženja. Dakle, programeri sužavaju zadatak izdavanja stabilnog OS sa otklonjenim greškama. Na istom sistemu sam instalirao sve DM/DE/WM (objašnjenje ovih pojmova ispod), koje sam našao u spremištu. 

Snimci ekrana sa "plavim okvirima" su upravo napravljeni na openSUSE. 

Snimci ekrana sa "belim okvirima" napravljeni su na drugim distribucijama, oni su naznačeni na snimku ekrana. 

Snimke ekrana sa "sivim obrubama" preuzete su sa interneta, kao primjeri desktop dizajna iz prošlosti.

Dakle, počnimo.

Glavne komponente koje čine grafiku

Izdvojiću tri glavne komponente i navesti ih redosledom kojim se pokreću pri pokretanju sistema: 

  1. DM (Display Manager);
  2. server za prikaz;
  3. DE (Desktop okruženje).

Pored toga, kao važne podstavke desktop okruženja: 

  • Upravitelj/Pokretač/Prekidač aplikacija (dugme Start); 
  • WM (Window Manager);
  • razni softver koji dolazi sa desktop okruženjem.

Više detalja o svakoj stavci.

DM (Display Manager)

Prva aplikacija koja se pokreće kada se pokrene "grafika" je DM (Display Manager), upravitelj zaslona. Njegovi glavni zadaci:

  • pitati koje korisnike pustiti u sistem, tražiti podatke za autentifikaciju (lozinka, otisak prsta);
  • odaberite koje okruženje radne površine želite pokrenuti.

Trenutno se široko koriste različite distribucije: 

  • SDDM (promijenjeno kdm),
  • GDM,
  • LightDM,
  • xdm.
  • Fly-DM (koristi se u AstraLinux-u) se također može spomenuti.

Lista postojećih DM-a se ažurira Wiki članak. 

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Vrijedi napomenuti da sljedeći snimci ekrana koriste isti LightDM display manager, ali u različitim distribucijama (nazivi distribucija su u zagradama). Provjerite koliko drugačije ovaj DM može izgledati zahvaljujući radu dizajnera različitih distribucija.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Glavna stvar u ovoj raznolikosti je da se jasno stavi do znanja da postoji aplikacija koja je odgovorna za pokretanje grafike i omogućavanje korisniku pristup toj grafici, a postoje različite implementacije ove aplikacije koje se razlikuju po izgledu i određenoj funkcionalnosti (izbor dizajna okruženja, izbor korisnika, verzija za loše vidljive korisnike, mogućnost daljinskog pristupa putem protokola XDMCP).

Display Server

Display Server je svojevrsna grafička osnova, čiji je glavni zadatak rad sa video karticom, monitorom i raznim ulaznim uređajima (tastatura, miš, touchpad). Odnosno, aplikacija (na primjer, pretraživač ili uređivač teksta) koja je prikazana u "grafici" ne mora znati kako raditi direktno s uređajima, ne mora znati o drajverima. Za sve to brine X Window.

Kada se govori o Display Serveru, dugi niz godina u Linuxu, iu Unixu, to je značilo aplikaciju X sistem prozora ili kod običnih ljudi X (X). 

Sada mnoge distribucije zamjenjuju X sa Wayland. 

Također možete pročitati:

Prvo, pokrenimo X-ove i nekoliko grafičkih aplikacija u njima.

Praktikum "pokreni X i aplikacije u njemu"

Sve ću raditi od novokreiranog webinaruser korisnika (bilo bi lakše, ali ne i sigurnije, sve raditi iz root-a).

  • Pošto je H'amu potreban pristup uređajima, dajem pristup: Odredio sam listu uređaja gledajući greške prilikom pokretanja X-a u dnevniku (/home/webinaruser/.local/share/xorg/Xorg.77.log) 

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

  • Nakon toga pokrećem X-ove:

% X -retro :77 vt8 & 

Opcije: * -retro - počnite sa "sivom" klasičnom pozadinom, a ne crnom kao zadanom; * :77 - Postavio sam (moguće je bilo koji u razumnom opsegu, samo :0 je najvjerovatnije već zauzeto već pokrenutom grafikom) broj ekrana, neki stvarni jedinstveni identifikator pomoću kojeg će biti moguće razlikovati nekoliko aktivnih X-ova; * vt8 - specificira terminal, ovdje /dev/tty8, na kojem će biti prikazani X). 

  • Pokretanje grafičke aplikacije:

Da bismo to učinili, prvo postavljamo varijablu pomoću koje će aplikacija razumjeti koji od X-ova pokrećem da pošalje ono što treba nacrtati: 

% export DISPLAY=":77" 

Listu pokrenutih X-ova možete vidjeti ovako: 

ps -fwwC X

Nakon što je varijabla postavljena, možemo pokrenuti aplikacije u našim X-ovima - na primjer, pokrećem sat:

% xclock -update 1 & 

% xcalc & 

% xeyes -g 200x150-300+50 &

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Glavne ideje i zaključci iz ovog fragmenta:

  • X treba pristup uređajima: terminalu, video kartici, ulaznim uređajima,
  • Sami X ne prikazuju nikakve elemente interfejsa - to je sivo (ako je sa opcijom "--retro") ili crno platno određenih veličina (na primjer, 1920 × 1080 ili 1024 × 768) za pokretanje grafičkih aplikacija u njemu.
  • Kretanje "križa" pokazuje da X prati poziciju miša i prenosi ove informacije aplikacijama koje se u njemu pokreću.
  • Također, X-ovi hvataju tipke na tastaturi i prosljeđuju ove informacije aplikacijama.
  • Varijabla DISPLAY govori grafičkim aplikacijama na kojem ekranu (svaki X-ovi se pokreću s jedinstvenim brojem ekrana pri pokretanju), a time i koji od onih koji rade na mojoj mašini da nacrtaju X-ove. (Takođe je moguće postaviti ovu varijablu na udaljenu mašinu i poslati izlaz na X-ove koji rade na drugoj mašini na mreži.) Pošto su X-ovi pokrenuti bez opcije -auth, nema potrebe da se bavite promenljivom XAUTHORITY ili xhostom komanda.
  • Grafičke aplikacije (ili kako ih zovu X-klijenti) crtaju se u X-ovima - dok bez mogućnosti pomicanja/zatvaranja/promjene "-g (Širina)x(Visina)+(ShiftFromLeftEdge)+(ShiftFromTopEdge)". Sa znakom minus, s desne i donje ivice.
  • Dva termina vrijedna spomena su X server (kako se X zove) i X klijenti (kako se zove svaka grafička aplikacija koja radi u X). Postoji mala zbrka u razumijevanju ove terminologije, mnogi je razumiju upravo suprotno. U slučaju kada se povežem sa „klijent mašine“ (u terminologiji udaljenog pristupa) na „server“ (u terminologiji udaljenog pristupa) da bih prikazao grafičku aplikaciju sa servera na svom monitoru, tada se X server pokreće na mašina na kojoj se monitor (odnosno na "klijentskoj mašini", a ne na "serveru") i X klijenti pokreću i pokreću na "serveru", iako su prikazani na monitoru "klijentske mašine". 

Kako grafika radi u Linuxu: pregled različitih desktop okruženja

DE komponente

Zatim ćemo analizirati komponente koje obično čine radnu površinu.

DE komponente: dugme Start i traka zadataka

Počnimo sa takozvanim dugmetom "Start". Često je ovo poseban aplet koji se koristi na "traci zadataka". Obično postoji i aplet za prebacivanje između pokrenutih aplikacija.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Nakon što bih pogledao različita desktop okruženja, takve aplikacije bih sažeo pod opštim nazivom "Upravitelj aplikacijama (Launcher / Switcher)", odnosno alat za upravljanje aplikacijama (pokretanje i prebacivanje između pokrenutih), a također bih naveo uslužne programe koji su primjer aplikacije ovog tipa.

  • To se događa u obliku dugmeta "Start" na klasičnoj (cijela dužina jedne od ivica ekrana) "traci zadataka":

    ○ xfce4-panel,
    ○ mate-panel/gnome-panel,
    ○ vala panel,
    ○ nijansa2.

  • Također možete posebno istaknuti "trake zadataka u obliku MacOS-a" (ne cijelom dužinom ivice ekrana), iako se mnoge trake zadataka mogu pojaviti u oba. Ovdje je, prije, glavna razlika čisto vizualna - prisutnost "efekta povećanja ikona pri lebdenju".

    ○ priključna stanica,
    ○ latte dock,
    ○ pristanište u Kairu,
    ○ daska.

  • I / Ili servis koji pokreće aplikacije kada se pritisnu prečice (u mnogim desktop okruženjima slična komponenta je nužno prisutna i omogućava vam da konfigurišete sopstvene prečice):

    ○ sxhkd.

  • Tu su i razni "lanseri" u obliku menija (od engleskog. Launch (pokreni)):

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

Kako grafika radi u Linuxu: pregled različitih desktop okruženja

DE komponente: WM (Window Manager)

Pročitajte više na ruskom

Pročitajte više na engleskom

WM (Window Manager) - vrsta aplikacije koja je odgovorna za upravljanje prozorima, dodaje mogućnost:

  • pomeranje prozora po radnoj površini (uključujući i standardni sa držanjem tastera Alt za bilo koji deo prozora, a ne samo za naslov);
  • promjena veličine prozora, na primjer, povlačenjem "prozorskog okvira";
  • dodaje “naslov (naslov)” i dugmad za minimiziranje/maksimiziranje/zatvaranje aplikacije u prozorski interfejs;
  • koncept čija je aplikacija u "fokusu".

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Navešću one najpoznatije (u zagradama označavam koji se DE koristi podrazumevano):

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Navešću i "stari WM sa DE elementima". One. pored menadžera prozora, imaju elemente kao što su dugme Start i traka zadataka, koji su više svojstveni punopravnom DE. Iako su "stari" ako su i IceWM i WindowMaker već objavili svoje ažurirane verzije 2020. Ispostavilo se da je ispravnije ne "stari", već "oldtajmeri":

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Osim "klasičnih" ("upravljači prozorima steka"), vrijedi posebno napomenuti popločan WM, koji omogućava postavljanje prozora na cijeli ekran, a za neke aplikacije i zasebnu radnu površinu za svaku pokrenutu aplikaciju na cijelom ekranu. Ovo je malo neuobičajeno za ljude koji ih ranije nisu koristili, ali s obzirom da i sam koristim takav interfejs dosta dugo, mogu reći da je prilično zgodan i da se brzo naviknete na takav interfejs, nakon čega „klasični“ menadžeri prozora ne izgledaju zgodni.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Također je vrijedno posebno spomenuti projekat Compiz i koncept kao što je „Composite Window Manager“, koji koristi mogućnosti hardverskog ubrzanja za prikaz transparentnosti, senki i raznih trodimenzionalnih efekata. Prije otprilike 10 godina došlo je do buma 3D efekata na Linux desktopima. Sada, mnogi upravitelji prozora ugrađeni u DE koriste neke od funkcija za sastavljanje. Nedavno se pojavio Wayfire - proizvod sa sličnom Compiz funkcionalnosti za Wayland.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Detaljnu listu raznih menadžera prozora možete pronaći i na  uporedni članak.

DE komponente: ostalo

Također je vrijedno napomenuti sljedeće komponente desktopa (ovdje koristim ustaljene termine na engleskom da opišem vrstu aplikacije - ovo nisu nazivi samih aplikacija):

  • Apleti:
  • Softver (Widget toolkit) - često određeni "minimalni set" softvera dolazi sa okruženjem:

DE (Desktop okruženje)

Pročitajte više na engleskom

Od gore navedenih komponenti dobija se takozvano "Desktop okruženje". Često se sve njegove komponente razvijaju koristeći iste grafičke biblioteke i koristeći iste principe dizajna. Tako se, barem, održava opći stil izgleda aplikacija.

Ovdje možemo istaknuti sljedeća trenutno postojeća desktop okruženja:

GNOME i KDE se smatraju najčešćim, a XFCE im je za petama.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Poređenje po različitim parametrima u obliku tabele može se pogledati u odgovarajućem Wikipedia članak.  

Variety DE

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Project_Looking_Glass

Postoje čak i takvi zanimljivi primjeri već iz historije: 2003-2007. napravljen je “3D dizajn desktopa” za Linux pod nazivom “Project Looking Glass” od Suna. I sam sam koristio ovu radnu površinu, odnosno "igrao", jer je bio težak za korištenje. Ovaj "3D skin" napisan je u Javi u vrijeme kada nije bilo 3D grafičkih kartica. Zbog toga je procesor preračunavao sve efekte, a kompjuter je morao biti veoma moćan, inače je sve radilo usporeno. Ali ispalo je predivno. Pločice 360D aplikacije mogu se rotirati/proširiti. Bilo je moguće rotirati u cilindru desktopa sa pozadinom sa panorame od XNUMX stepeni. Bilo je nekoliko vlastitih prekrasnih aplikacija: na primjer, slušanje muzike u obliku “CD mjenjača” itd. Možete pogledati na youtube видео u vezi sa ovim projektom, samo će kvalitet ovih videa najvjerovatnije biti loš, jer tih godina nije bilo moguće uploadati video zapise visokog kvaliteta.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Xfce

Lagana radna površina. Projekat postoji dugo, od 1996. godine. Posljednjih godina prilično popularan, za razliku od težih KDE-a i GNOME-a, na mnogim distribucijama koje zahtijevaju lagan i "klasičan" desktop interfejs. Ima mnogo postavki i veliki broj svojih programa: terminal (xfce4-terminal), upravitelj datoteka (thunar), preglednik slika (ristretto), uređivač teksta (podloga za miš).

 
Kako grafika radi u Linuxu: pregled različitih desktop okruženja
panteon 

Koristi se u distribuciji osnovnog OS-a. Ovdje možemo reći da postoje "desktopovi" koji su razvijeni i korišteni unutar jedne distribucije i koji se ne koriste u velikoj mjeri (ako se ne "uopšte ne koriste") u drugim distribucijama. Barem još nisu stekli popularnost i nisu uvjerili veliki dio publike u prednosti svog pristupa. Pantheon ima za cilj da izgradi interfejs sličan macOS-u. 

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Opcija priključne ploče:

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
prosvjećivanje

Snažan fokus na grafičke efekte i widgete (još od vremena kada druga desktop okruženja nisu imala vidžete na radnoj površini, kao što je kalendar/sat). Koristi vlastite biblioteke. Postoji veliki skup njegovih "lijepih" aplikacija: terminal (Terminologija), video plejer (Rage), preglednik slika (Ephoto).

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Moksha

Ovo je fork Enlightenmenta17 koji se koristi u BodhiLinux distribuciji. 

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
GNOME

Prvobitno "klasično" desktop interfejs, kreiran u suprotnosti sa KDE, koji je napisan na QT biblioteci, u to vreme distribuiran pod licencom koja nije bila baš zgodna za komercijalne distribucije. 

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
GNOME_Shell

Od treće verzije GNOME-a, GNOME je počeo da se isporučuje sa GNOME Shell-om, koji ima "neklasičan izgled", što se nije svidjelo svim korisnicima (sve iznenadne promjene u interfejsima korisnici teško mogu prihvatiti). Kao rezultat - pojava fork projekata koji nastavljaju razvoj ove radne površine u "klasičnom" stilu: MATE i Cinnamon. Standardno se koristi u mnogim komercijalnim distribucijama. Ima veliki broj postavki i njegovih aplikacija. 

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
MATE 

Pojavio se na bazi GNOME2 i nastavlja da razvija ovo okruženje. Ima veliki broj podešavanja i forks aplikacija koje su korišćene još u GNOME2 (novi nazivi se koriste kako se viljuške ne bi pobrkale sa njihovom novom verzijom za GNOME3).

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
cimet

Fork GNOME Shell-a koji korisnicima pruža "klasični" stil interfejsa (kao što je bio u GNOME2). 

Ima veliki broj postavki i iste aplikacije kao za GNOME Shell.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Budgie

Fork GNOME-a u "klasičnom" stilu koji se razvio kao dio Solus distribucije, ali sada dolazi i kao samostalna radna površina na raznim drugim distribucijama.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
KDE_Plasma (ili, kako se to često naziva, samo KDE) 

Desktop okruženje razvijeno od strane KDE projekta. 

Ima ogroman broj postavki dostupnih jednostavnom korisniku iz grafičkog interfejsa i mnoge grafičke aplikacije razvijene u okviru ove radne površine.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
trojstvo

U 2008, KDE je objavio svoju novu implementaciju KDE Plasma (desktop engine je uvelike prepisan). Takođe, kao i sa GNOME/MATE, nije se svideo svim KDE fanovima. Kao rezultat toga, pojavio se fork projekta, koji nastavlja razvoj prethodne verzije, nazvan TDE (Trinity Desktop Environment).

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Deepin_DE

Jedno od novijih desktop okruženja napisanih pomoću Qt-a (na čemu je napisan KDE). Ima mnogo podešavanja i prilično lep (iako je ovo subjektivan koncept) i dobro razvijen interfejs. Razvijen kao dio Deepin Linux distribucije. Postoje i paketi za druge distribucije.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
letjeti 

Primjer desktop okruženja napisanog pomoću Qt. Razvijen kao dio Astra Linux distribucije. 

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
LXQt

Lagano desktop okruženje. Kao i nekoliko prethodnih primjera, napisanih pomoću Qt. Zapravo, to je nastavak LXDE projekta i rezultat spajanja s projektom Razor-qt.

Kao što vidite, Linux desktop može izgledati veoma različito i postoji odgovarajući interfejs za svačiji ukus: od veoma lepog i sa 3D efektima do minimalističkog, od "klasičnog" do neobičnog, od sistemskog teškog do laganog, od velikih ekrana do tablete/pametne telefone.

Pa, nadam se da sam uspio dati ideju ​​koje su glavne komponente grafike i desktopa u Linux OS-u.

Materijal za ovaj članak testiran je u julu 2020. na webinaru. Može se pogledati ovdje.

To je sve. Nadam se da je bilo od pomoći. Ako imate bilo kakvih pitanja i komentara, pišite. Biće mi drago da odgovorim. Pa, dođi i uči Mrežna akademija LANIT!

izvor: www.habr.com

Dodajte komentar