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

Ovaj članak govori o tome kako grafika radi u Linuxu i od kojih se komponenti sastoji. Sadrži mnoge snimke zaslona različitih implementacija desktop okruženja. 

Ako ne pravite razliku između KDE-a i GNOME-a, ili je činite, ali biste htjeli znati koje druge alternative postoje, onda je ovaj članak za vas. To je pregled, i iako sadrži puno naziva i malo pojmova, materijal će također biti koristan za početnike i one koji tek gledaju Linux.

Tema također može biti zanimljiva naprednim korisnicima prilikom postavljanja udaljenog pristupa i implementacije tankog klijenta. Često susrećem iskusne korisnike Linuxa s izjavama "na poslužitelju postoji samo naredbeni redak, a ne planiram detaljnije proučavati grafiku, jer je to sve potrebno običnim korisnicima." Ali čak su i stručnjaci za Linux vrlo iznenađeni i sretni otkrivši opciju “-X” za naredbu ssh (a za to je korisno razumjeti rad i funkcije X poslužitelja).

Kako grafika radi u Linuxu: pregled različitih desktop okruženjaИсточник

Predajem Linux tečajeve gotovo 15 godina na "Mrežna akademija LANIT“i siguran sam da mnogi od više od pet tisuća ljudi koje sam obučavao čitaju i vjerojatno pišu članke na Habru. Tečajevi su uvijek vrlo intenzivni (prosječno trajanje tečaja je pet dana); potrebno je pokriti teme za čije potpuno razumijevanje treba najmanje deset dana. I uvijek tijekom tečaja, ovisno o publici (okupljeni novopečeni ili iskusni administratori), kao i o "pitanjima iz publike", biram što ću prenijeti detaljnije, a što površnije, kako bih se više posvetio vrijeme za pomoćne programe naredbenog retka i njihovu praktičnu primjenu. Dosta je ovakvih tema koje zahtijevaju malo žrtve. To su “Povijest Linuxa”, “Razlike u distribucijama Linuxa”, “O licencama: GPL, BSD, ...”, “O grafičkim i desktop okruženjima” (tema ovog članka), itd. Nije da nisu važno, ali obično postoji mnogo gorućih pitanja "ovdje i sada" i samo oko pet dana... Međutim, za opće razumijevanje osnova OS-a Linux potrebno je razumijevanje dostupne raznolikosti (tako da čak i korištenje jedne specifične Linux distribucija, i dalje imate širi pogled na cijeli ovaj ogromni i golemi svijet koji se zove “Linux”), proučavanje ovih tema je korisno i potrebno. 

Kako članak napreduje, pružam poveznice za svaku komponentu za one koji žele dublje zaroniti u temu, na primjer, na članke Wikipedije (dok ukazujem na potpuniju/korisniju verziju ako postoje engleski i ruski članci).

Za osnovne primjere i snimke zaslona koristio sam openSUSE distribuciju. Mogla bi se koristiti bilo koja druga distribucija koju je razvila zajednica, sve dok postoji veliki broj paketa u repozitoriju. Teško je, ali ne i nemoguće, demonstrirati raznolikost dizajna desktopa na komercijalnoj distribuciji, jer često koriste samo jedno ili dva najpoznatija okruženja desktopa. Na ovaj način programeri sužavaju zadatak izdavanja stabilnog OS-a s otklanjanjem pogrešaka. Na ovom istom sustavu instalirao sam sve DM/DE/WM (objašnjenje ovih izraza ispod) koje sam našao u repozitoriju. 

Snimke zaslona s "plavim okvirima" snimljene su na openSUSE-u. 

Napravio sam snimke zaslona s "bijelim okvirima" na drugim distribucijama, oni su naznačeni na snimci zaslona. 

Snimke zaslona sa “sivim okvirima” preuzete su s interneta, kao primjeri dizajna desktopa iz prošlih godina.

Dakle, počnimo.

Glavne komponente koje čine grafiku

Istaknut ću tri glavne komponente i navesti ih redoslijedom kojim se pokreću pri pokretanju sustava: 

  1. DM (Upravitelj prikaza);
  2. Display Server;
  3. DE (Desktop Environment).

Osim toga, kao važne podstavke Desktop Environment: 

  • Upravitelj aplikacija/pokretač/izmjenjivač (gumb Start); 
  • WM (Upravitelj prozora);
  • razni softver koji dolazi s desktop okruženjem.

Više detalja o svakoj točki.

DM (Upravitelj prikaza)

Prva aplikacija koja se pokreće kada pokrenete “grafiku” je DM (Display Manager), upravitelj zaslona. Njegovi glavni zadaci:

  • pitati koje korisnike pustiti u sustav, zatražiti podatke za autentifikaciju (lozinka, otisak prsta);
  • odabrati koje desktop okruženje želite pokrenuti.

Trenutno se široko koristi u raznim distribucijama: 

  • SDDM (zamijenjeno KDM),
  • Gdm,
  • LightDM,
  • xdm.
  • Također možete spomenuti Fly-DM (koristi se u AstraLinuxu).

Popis postojećih DM-ova ažurira se u 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
Vrijedno je napomenuti da sljedeće snimke zaslona koriste isti upravitelj zaslona LightDM, ali u različitim distribucijama (nazivi distribucija navedeni su u zagradama). Pogledajte kako ovaj DM može izgledati drugačije zahvaljujući radu dizajnera iz 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 razjasniti da postoji aplikacija koja je odgovorna za pokretanje grafike i omogućuje korisniku pristup tim grafikama, a postoje različite implementacije ove aplikacije koje se razlikuju po izgledu i neznatno po funkcionalnosti (izbor dizajn okruženja, odabir korisnika, verzija za loše uočljive korisnike, dostupnost daljinskog pristupa putem protokola XDMCP).

Prikaz poslužitelja

Display Server je vrsta grafičke osnove, čija je glavna zadaća rad s video karticom, monitorom i raznim ulaznim uređajima (tipkovnica, miš, dodirne podloge). To jest, aplikacija (na primjer, preglednik ili uređivač teksta) koja se prikazuje u "grafiki" ne mora znati kako izravno raditi s uređajima, niti mora znati o upravljačkim programima. O svemu tome brine X Window.

Kada se govori o Display Serveru, dugi niz godina u Linuxu, pa i u Unixu, mislilo se na aplikaciju X Prozorski sustav ili u uobičajenom jeziku X (X). 

Sada mnoge distribucije zamjenjuju X Wayland. 

Također možete pročitati:

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

Radionica “Pokretanje X-a i aplikacija u njemu”

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

  • Budući da X-ovi trebaju pristup uređajima, dajem pristup: Popis uređaja je određen pregledom grešaka prilikom pokretanja X-a u zapisniku (/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 - pokretanje sa "sivom" klasičnom pozadinom, a ne sa crnom kao zadanom; * :77 - Postavio sam (bilo koji unutar razumnog raspona je moguć, samo je :0 najvjerojatnije već zauzet već pokrenutom grafikom) broj ekrana, zapravo neku vrstu jedinstvenog identifikatora po kojem će biti moguće razlikovati nekoliko pokrenutih X-ova; * vt8 - označava terminal, ovdje /dev/tty8, na kojem će biti prikazani X-ovi). 

  • Pokrenite grafičku aplikaciju:

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

% export DISPLAY=":77" 

Popis pokrenutih X-ova možete vidjeti ovako: 

ps -fwwC X

Nakon što smo postavili varijablu, možemo pokretati aplikacije u našim X-ovima - na primjer, ja 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-ovi trebaju pristup uređajima: terminalu, video kartici, ulaznim uređajima,
  • Sami X-ovi ne prikazuju nikakve elemente sučelja - to je sivo (ako je s opcijom “--retro”) ili crno platno određenih veličina (na primjer, 1920x1080 ili 1024x768) kako bi se u njemu pokretale grafičke aplikacije.
  • Kretanje "križića" pokazuje da X-ovi prate položaj miša i prenose tu informaciju aplikacijama koje se u njemu izvode.
  • X također hvata pritiske tipki na tipkovnici i prenosi te informacije aplikacijama.
  • Varijabla DISPLAY govori grafičkim aplikacijama na kojem zaslonu (svaki X-ovi se pokreću s jedinstvenim brojem zaslona nakon pokretanja), a time i na kojem od onih koji se izvode na mom računalu, X-ovi će morati biti nacrtani. (Također je moguće navesti udaljeni stroj u ovoj varijabli i poslati izlaz X-ovima koji rade na drugom stroju na mreži.) Budući da su X-ovi pokrenuti bez opcije -auth, nema potrebe baviti se varijablom XAUTHORITY ili xhostom naredba.
  • Grafičke aplikacije (ili kako ih X klijenti nazivaju) prikazuju se u X-ovima - bez mogućnosti pomicanja/zatvaranja/promjene istih "-g (Širina)x(Visina)+(PomakOdLijevog Ruba)+(PomakOdGornjeg Ruba)". Sa znakom minus, s desne i s donje strane.
  • Dva pojma koja su vrijedna spomena: X-poslužitelj (tako se zovu X-ovi) i X-klijenti (tako se nazivaju sve grafičke aplikacije koje rade u X-ovima). Postoji mala zabuna u razumijevanju ove terminologije; mnogi je shvaćaju upravo suprotno. U slučaju kada se povežem s "klijentskog stroja" (u terminologiji daljinskog pristupa) na "poslužitelj" (u terminologiji daljinskog pristupa) kako bih prikazao grafičku aplikaciju s poslužitelja na svom monitoru, tada se X poslužitelj pokreće na stroj na kojem se monitor (to jest, na "klijentskom stroju", ne na "poslužitelju") i X klijenti pokreću i izvode na "poslužitelju", iako su prikazani na monitoru "klijentskog stroja". 

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

DE komponente

Zatim, pogledajmo komponente koje obično čine radnu površinu.

DE komponente: gumb Start i programska traka

Počnimo s takozvanim gumbom "Start". Često je ovo zasebni aplet koji se koristi u "Traci zadataka". Obično postoji i applet za prebacivanje između pokrenutih aplikacija.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Nakon što sam pogledao različita desktop okruženja, sažeo bih takve aplikacije pod općim nazivom "Apps Manager (Launcher/Switcher)", odnosno alat za upravljanje aplikacijama (pokretanje i prebacivanje između pokrenutih), a također bih označio uslužne programe koji su primjer ove vrste aplikacije.

  • Dolazi u obliku tipke “Start” na klasičnoj (cijelom dužinom jednog od rubova ekrana) “Traci zadataka”:

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

  • Također možete imati zasebnu "traku zadataka u obliku MacOS-a" (ne cijelom dužinom ruba zaslona), iako se mnoge trake zadataka mogu pojaviti u oba stila. Ovdje je glavna razlika čisto vizualna - prisutnost "efekta povećanja piktograma pri lebdenju."

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

  • I/ili usluga koja pokreće aplikacije kada pritisnete prečace (u mnogim desktop okruženjima potrebna je slična komponenta koja vam omogućuje da konfigurirate vlastite prečace):

    ○ sxhkd.

  • Postoje i razni "pokretači" u obliku izbornika (od engleskog Launch (lansiranje)):

    ○ dmenu-run,
    ○ rofi -pokaži pijan,
    ○ albert,
    ○ gunđati.

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

DE komponente: WM (Upravitelj prozora)

Više detalja na ruskom

Više detalja na engleskom

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

  • pomicanje prozora po radnoj površini (uključujući standardno s držanjem tipke Alt na bilo kojem dijelu prozora, ne samo na naslovnoj traci);
  • mijenjanje veličine prozora, na primjer, povlačenjem "okvira prozora";
  • dodaje "naslov" i gumbe za minimiziranje/maksimiziranje/zatvaranje aplikacije u sučelje prozora;
  • koncept koja je aplikacija u „fokusu“.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Navest ću najpoznatije (u zagradama označavam koji se DE koristi prema zadanim postavkama):

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Također ću navesti “stari WM s DE elementima”. Oni. uz upravitelj prozora, imaju elemente kao što su gumb "Start" i "Traka zadataka", koji su tipičniji za punopravni DE. Iako, koliko su “stari” ako su i IceWM i WindowMaker već objavili svoje ažurirane verzije 2020. Ispada da je ispravnije ne "stari", već "stari":

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
Uz “klasične” (“stack window manager”) vrijedi posebno istaknuti popločan WM, koji omogućuje postavljanje prozora “popločanih” preko cijelog zaslona, ​​kao i za neke aplikacije zasebnu radnu površinu za svaku pokrenutu aplikaciju na cijelom zaslonu. Ovo je malo neobično za ljude koji ih prije nisu koristili, ali budući da sam i sam koristio takvo sučelje dosta dugo, mogu reći da je prilično zgodno i brzo se naviknete na takvo sučelje, nakon čega “klasični” upravitelji prozora više se ne čine zgodnim.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Projekt također vrijedi posebno spomenuti Compiz i takav koncept kao što je "Composite Window Manager", koji koristi mogućnosti hardverskog ubrzanja za prikaz prozirnosti, sjena i raznih trodimenzionalnih efekata. Prije otprilike 10 godina došlo je do procvata 3D efekata na Linux stolnim računalima. Danas mnogi upravitelji prozora ugrađeni u DE djelomično koriste kompozitne mogućnosti. Nedavno se pojavio Wayfire - proizvod slične funkcionalnosti kao Compiz za Wayland.

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Detaljan popis raznih upravitelja prozorima također se može pronaći u  usporedni članak.

DE komponente: odmor

Također je vrijedno napomenuti sljedeće komponente radne površine (ovdje koristim ustaljene engleske izraze za opis vrste aplikacije - ovo nisu nazivi samih aplikacija):

  • Appleti:
  • Softver (Widget toolkit) - često se određeni "minimalni skup" softvera isporučuje s okruženjem:

DE (Desktop Environment)

Više detalja na engleskom

Od navedenih komponenti dobiva se tzv. “Desktop Design Environment”. Često su sve njegove komponente razvijene korištenjem istih grafičkih biblioteka i korištenjem istih principa dizajna. Dakle, minimalno je zadržan opći stil izgleda aplikacija.

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

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

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Usporedbu različitih parametara u obliku tablice možete pronaći u odgovarajućem Članak na Wikipediji.  

DE sorta

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

Ima čak i takvih zanimljivih primjera iz povijesti: 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" sam se s njom, jer je bilo teško koristiti. Ovaj “3D dizajn” napisan je u Javi u vrijeme kada nije bilo grafičkih kartica s podrškom za 3D. Dakle, sve efekte preračunavao je procesor, a računalo je moralo biti vrlo snažno, inače je sve radilo sporo. Ali ispalo je prekrasno. Pločice trodimenzionalne aplikacije mogu se rotirati/proširiti. Bilo je moguće rotirati u cilindru radne površine s pozadinom iz panorame od 360 stupnjeva. Bilo je nekoliko lijepih aplikacija: na primjer, slušanje glazbe u obliku "mijenjanja CD-a", itd. Možete to pogledati na YouTubeu video o ovom projektu, samo će kvaliteta ovih videa najvjerojatnije biti loša, budući da tih godina nije bilo moguće uploadati video zapise visoke kvalitete.

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

Lagana radna površina. Projekt postoji dosta dugo, od 1996. godine. Posljednjih godina prilično je popularan, za razliku od težih KDE-a i GNOME-a, na mnogim distribucijama koje zahtijevaju lagano i "klasično" sučelje radne površine. Ima mnogo postavki i velik broj vlastitih programa: terminal (xfce4-terminal), upravitelj datoteka (thunar), preglednik slika (ristretto), uređivač teksta (podloga za miša).

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

Koristi se u distribuciji Elementary OS. Ovdje možemo reći da postoje "stolna računala" koja su razvijena i korištena unutar jedne zasebne distribucije, a ne koriste se puno (ako ne "uopće ne koriste") u drugim distribucijama. Barem još nisu stekli popularnost i uvjerili većinu publike u prednosti svog pristupa. Pantheon ima za cilj izgraditi sučelje slično macOS-u. 

Kako grafika radi u Linuxu: pregled različitih desktop okruženja
Opcija s dock pločom:

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

Snažan fokus na grafičke efekte i widgete (iz dana kada druga desktop okruženja nisu imala desktop widgete poput kalendara/sata). Koristi vlastite biblioteke. Postoji velik skup vlastitih "lijepih" aplikacija: terminal (Terminology), video player (Rage), preglednik slika (Ephoto).

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

Ovo je fork Enlightenment17, koji se koristi u BodhiLinux distribuciji. 

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

U početku, "klasično" desktop sučelje, stvoreno za razliku od KDE-a, koje je napisano u QT biblioteci, u to vrijeme distribuirano pod licencom koja nije bila baš zgodna za komercijalnu distribuciju. 

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

Od treće verzije GNOME je počeo dolaziti s GNOME Shellom koji ima “neklasičan izgled” koji se nije svidio svim korisnicima (korisnici teško prihvaćaju bilo kakve nagle promjene sučelja). Kao posljedica toga, pojava fork projekata koji nastavljaju razvoj ovog desktopa u “klasičnom” stilu: MATE i Cinnamon. Koristi se prema zadanim postavkama u mnogim komercijalnim distribucijama. Ima velik broj postavki i vlastitih aplikacija. 

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

Pojavio se iz GNOME2 i nastavlja razvijati ovo dizajnersko okruženje. Ima veliki broj postavki i vilica aplikacija koje su se koristile još u GNOME2 (koriste se novi nazivi) kako se ne bi brkale vilice s 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čno" sučelje (kao što je bio slučaj u GNOME2). 

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

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

Fork GNOME-a u "klasičnom" stilu koji je razvijen kao dio distribucije Solus, 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_Plazma (ili kako se često naziva jednostavno KDE) 

Radna površina razvijena u okviru projekta KDE. 

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

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

Godine 2008. KDE je izdao svoju novu implementaciju KDE Plasma (pogon za stolna računala bio je uvelike prerađen). Također, kao i kod GNOME/MATE, nije se svidio svim ljubiteljima KDE-a. Kao rezultat toga, pojavio se račvanje projekta, nastavljajući razvoj prethodne verzije, nazvane TDE (Trinity Desktop Environment).

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

Jedno od novih desktop okruženja napisano pomoću Qt-a (na kojem je napisan KDE). Ima puno postavki i prilično je lijepo (iako je to subjektivan koncept) i dobro razvijeno sučelje. 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-a. 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-a. Zapravo, to je nastavak projekta LXDE i rezultat spajanja s projektom Razor-qt.

Kao što vidite, radna površina u Linuxu može izgledati vrlo različito i postoji odgovarajuće sučelje za svačiji ukus: od vrlo lijepog i s 3D efektima do minimalističkog, od "klasičnog" do neobičnog, od aktivnog korištenja resursa sustava do laganog, od velikog zaslona na tablete/pametne telefone.

Pa, želio bih se nadati da sam uspio dati ideju o tome koje su glavne komponente grafike i radne površine u Linux OS-u.

Materijal za ovaj članak testiran je u srpnju 2020. na webinaru. Možete ga gledati здесь.

To je sve. Nadam se da je ovo bilo od pomoći. Ako imate pitanja ili komentara, pišite. rado ću odgovoriti. Pa, dođi i uči u "LANIT mrežna akademija"!

Izvor: www.habr.com

Dodajte komentar