Ky artikull ka të bëjë me mënyrën se si strukturohen grafikët në Linux dhe nga cilat komponentë përbëhet. Përmban shumë pamje të ekranit të implementimeve të ndryshme të mjedisit të desktopit.
Nëse nuk e dalloni vërtet KDE-në nga GNOME-ja, ose nëse e bëni, por dëshironi të dini se cilat alternativa të tjera ekzistojnë, atëherë ky artikull është për ju. Është një përmbledhje dhe, ndërsa përmban shumë emra dhe disa terma, materiali do të jetë i dobishëm edhe për fillestarët dhe ata që sapo kanë filluar të studiojnë këtë fushë. Linux.
Kjo temë mund të jetë me interes për përdoruesit e përparuar, pavarësisht nëse po konfigurojnë akses në distancë apo po implementojnë një klient të hollë. Shpesh has përdorues me përvojë të Linux-it që pretendojnë: "Serveri ka vetëm rreshtin e komandës dhe nuk kam ndërmend të studioj grafikën në detaje, pasi kjo është e gjitha për përdoruesit bazë". Por edhe ekspertët Linux Me habi dhe gëzim të madh ata zbulojnë opsionin "-X" të komandës ssh (dhe për këtë është e dobishme të kuptohet funksionimi dhe funksionet e serverit X).

Unë kam dhënë mësim në kurse për gati 15 vjet. Linux në ""dhe jam i sigurt se shumë nga më shumë se pesë mijë njerëzit që kam trajnuar lexojnë dhe ndoshta shkruajnë artikuj mbi Habr. Kurset janë gjithmonë shumë intensive (kohëzgjatja mesatare e kursit është pesë ditë), duke mbuluar tema që do të duheshin të paktën dhjetë ditë për t'u kuptuar plotësisht. Dhe gjatë kursit, varësisht nga audienca (fillestarë ose administratorë me përvojë) dhe "pyetjet nga audienca", unë gjithmonë zgjedh se çfarë të përcjell më në detaje dhe çfarë të trajtoj më sipërfaqësisht, duke i kushtuar më shumë kohë shërbimeve të linjës së komandës dhe zbatimit të tyre praktik. Ka shumë tema të tilla që duhet të sakrifikohen pak. Kjo është "Historia" Linux", "Dallimet në shpërndarje Linux"," "Rreth licencave: GPL, BSD, ...", "Rreth grafikës dhe mjediseve të desktopit" (tema e këtij artikulli), etj. Nuk është se janë të parëndësishme, por zakonisht ka shumë pyetje më urgjente "këtu dhe tani" dhe vetëm disa pesë ditë... Megjithatë, për një kuptim të përgjithshëm të bazave të sistemit operativ Linux, duke kuptuar diversitetin e disponueshëm (në mënyrë që edhe duke përdorur një shpërndarje specifike Linux, ende kanë një pamje më të gjerë të gjithë kësaj bote të madhe dhe të pakufishme që quhet "Linux") Është e dobishme dhe e nevojshme të studiohen këto tema.
Ndërsa artikulli përparon, unë ofroj lidhje për secilin komponent për ata që duan të zhyten më thellë në temë, për shembull, në artikujt e Wikipedia-s (ndërsa tregoj një version më të plotë/të dobishëm nëse ka artikuj në anglisht dhe rusisht).
Për shembujt bazë dhe pamjet e ekranit kam përdorur shpërndarjen openSUSE. Mund të përdoret çdo shpërndarje tjetër e zhvilluar nga komuniteti, për sa kohë që ka një numër të madh paketash në depo. Është e vështirë, por jo e pamundur, të demonstrosh shumëllojshmërinë e dizajneve të desktopit në një shpërndarje komerciale, pasi ato shpesh përdorin vetëm një ose dy nga mjediset më të njohura të desktopit. Në këtë mënyrë, zhvilluesit ngushtojnë detyrën e lëshimit të një OS të qëndrueshëm dhe të korrigjuar. Në të njëjtin sistem kam instaluar të gjitha DM/DE/WM (shpjegimi i këtyre termave më poshtë) që gjeta në depo.
Pamjet e ekranit me "korniza blu" u morën në openSUSE.
Kam marrë pamje nga ekrani me "korniza të bardha" në shpërndarjet e tjera, ato tregohen në pamjen e ekranit.
Pamjet e ekranit me "korniza gri" janë marrë nga interneti, si shembuj të dizajneve të desktopit nga vitet e kaluara.
Pra, le të fillojmë.
Komponentët kryesorë që përbëjnë grafikën
Unë do të nënvizoj tre komponentë kryesorë dhe do t'i rendis ato sipas radhës në të cilën janë nisur në fillimin e sistemit:
- DM (Menaxheri i ekranit);
- Serveri i ekranit;
- DE (Desktop Environment).
Për më tepër, si nën-klauzolat e rëndësishme të Mjedisit të Desktopit:
- Menaxher/Launcher/Ndërprerës i aplikacioneve (butoni i fillimit);
- WM (Menaxheri i dritares);
- softuer të ndryshëm që vjen me mjedisin e desktopit.
Më shumë detaje për secilën pikë.
DM (Menaxheri i ekranit)
Aplikacioni i parë që fillon kur filloni "grafika" është DM (Display Manager), një menaxher ekrani. Detyrat e tij kryesore:
- pyesni cilët përdorues të lejojnë në sistem, kërkoni të dhëna vërtetimi (fjalëkalim, gjurmë gishtash);
- zgjidhni mjedisin e desktopit për të ekzekutuar.
Aktualisht përdoret gjerësisht në shpërndarje të ndryshme:
- (zëvendësuar ),
- ,
- ,
- .
- Gjithashtu vlen të përmendet Fly-DM (përdoret në AstraLinux).
Lista e DM-ve ekzistuese mbahet e përditësuar në




Vlen të përmendet se pamjet e mëposhtme të ekranit përdorin të njëjtin menaxher të ekranit LightDM, por në shpërndarje të ndryshme (emrat e shpërndarjes tregohen në kllapa). Shihni sa ndryshe mund të duket kjo DM falë punës së stilistëve nga shpërndarje të ndryshme.





Gjëja kryesore në këtë diversitet është të bëhet e qartë se ekziston një aplikacion që është përgjegjës për lëshimin e grafikës dhe lejimin e përdoruesit të aksesojë këto grafika, dhe ka zbatime të ndryshme të këtij aplikacioni që ndryshojnë në pamje dhe pak në funksionalitet (përzgjedhja e mjediset e projektimit, përzgjedhja e përdoruesve, versioni për përdoruesit me shikim të keq, disponueshmëria e aksesit në distancë nëpërmjet protokollit ).
Shfaq Server
Serveri i ekranit është një lloj themeli grafik, detyra kryesore e të cilit është të punojë me një kartë video, monitor dhe pajisje të ndryshme hyrëse (tastierë, mi, tastierë me prekje). Kjo do të thotë, një aplikacion (për shembull, një shfletues ose redaktues teksti) që jepet në "grafikë" nuk ka nevojë të dijë se si të punojë drejtpërdrejt me pajisjet, as nuk duhet të dijë për drejtuesit. X Window kujdeset për të gjitha këto.
Kur bëhet fjalë për Serverin e Shfaqjes, ai ekziston prej shumë vitesh. Linux, dhe në Unix ishte menduar si një aplikacion ose në gjuhën e zakonshme X (X).
Tani shumë shpërndarje po zëvendësojnë X .
Ju gjithashtu mund të lexoni:
- ,
- ,
- (e nevojshme për të nisur aplikacionet grafike nga distanca, për shembull duke përdorur PuTTY).
Së pari, le të hapim X dhe disa aplikacione grafike në to.
Workshop "running X dhe aplikacionet në të"
Unë do të bëj gjithçka nga përdoruesi i sapokrijuar i webinaruser (do të ishte më e lehtë, por jo më e sigurt, të bëja gjithçka si rrënjë).
- Meqenëse X ka nevojë për qasje në pajisjet, unë jap akses: Lista e pajisjeve u përcaktua duke parë gabimet kur filloni X në regjistër (/home/webinaruser/.local/share/xorg/Xorg.77.log)
% sudo setfacl -m u:webinaruser:rw /dev/tty8 /dev/dri/card0 /dev/fb0 /dev/input/*
- Pas kësaj unë lëshoj X-të:
% X -retro :77 vt8 &
Opsionet: * -retro - nis me një sfond klasik "gri", dhe jo me të zezën si parazgjedhje; * :77 - Kam vendosur (çdo brenda një diapazoni të arsyeshëm është i mundur, vetëm :0 ka shumë të ngjarë të jetë tashmë e zënë nga grafika tashmë e ekzekutuar), në fakt një lloj identifikuesi unik me anë të të cilit do të jetë e mundur të dallohen disa X-të që funksionojnë; * vt8 - tregon terminalin, këtu /dev/tty8, në të cilin do të shfaqen X).
- Hapni aplikacionin grafik:
Për ta bërë këtë, së pari vendosim një variabël me anë të së cilës aplikacioni do të kuptojë se cilin nga X-të kam ekzekutuar për të dërguar atë që duhet të vizatohet:
% export DISPLAY=":77"
Ju mund ta shikoni listën e X-ve që funksionojnë si kjo:
ps -fwwC X
Pasi të kemi vendosur variablin, ne mund të hapim aplikacione në X-të tona - për shembull, unë hap një orë:
% xclock -update 1 &
% xcalc &
% syze -g 200x150-300+50 &

Idetë dhe përfundimet kryesore nga ky fragment:
- X ka nevojë për akses në pajisjet: terminal, kartë video, pajisje hyrëse,
- Vetë X-të nuk shfaqin asnjë element ndërfaqeje - është një kanavacë gri (nëse ka opsionin "--retro") ose kanavacë e zezë me madhësi të caktuara (për shembull, 1920x1080 ose 1024x768) për të ekzekutuar aplikacione grafike në të.
- Lëvizja e "kryqit" tregon se X-të ndjekin pozicionin e miut dhe e transmetojnë këtë informacion tek aplikacionet që funksionojnë në të.
- X gjithashtu kapin tastierë në tastierë dhe e transmetojnë këtë informacion tek aplikacionet.
- Variabli DISPLAY u tregon aplikacioneve grafike në cilin ekran (çdo X hapet me një numër unik ekrani pas fillimit), dhe për këtë arsye në cilin prej atyre që funksionojnë në kompjuterin tim, X-të do të duhet të vizatohen. (Është gjithashtu e mundur të specifikoni një makinë në distancë në këtë variabël dhe të dërgoni dalje te X-të që funksionojnë në një makinë tjetër në rrjet.) Meqenëse X-të u lansuan pa opsionin -aut, nuk ka nevojë të merret me ndryshoren XAUTHORITY ose xhost komandë.
- Aplikacionet grafike (ose siç i quajnë klientët X) jepen në X - pa aftësinë për t'i lëvizur/mbyllur/ndryshuar ato "-g (Width)x(Height)+(OffsetFromLeftEdge)+(OffsetFromTopEdge)". Me një shenjë minus, përkatësisht, nga e djathta dhe nga skaji i poshtëm.
- Dy terma që ia vlen të përmenden: X-server (kështu quhen X-të) dhe X-klientët (kështu quhet çdo aplikacion grafik që funksionon në X). Ka një konfuzion të vogël në të kuptuarit e kësaj terminologjie; shumë e kuptojnë atë pikërisht të kundërtën. Në rastin kur lidhem nga një "makinë klient" (në terminologjinë e aksesit në distancë) me një "server" (në terminologjinë e aksesit në distancë) për të shfaqur një aplikacion grafik nga serveri në monitorin tim, atëherë serveri X fillon në makinë ku monitori (d.m.th., në "makinën e klientit", jo në "server"), dhe klientët X fillojnë dhe funksionojnë në "server", megjithëse ato shfaqen në monitorin e "makinerisë së klientit".

komponentët DE
Më pas, le të shohim komponentët që zakonisht përbëjnë një desktop.
Komponentët DE: Butoni i fillimit dhe shiriti i detyrave
Le të fillojmë me të ashtuquajturin buton "Start". Shpesh ky është një aplikacion i veçantë i përdorur në "Taskbar". Zakonisht ekziston gjithashtu një aplet për ndërrimin ndërmjet aplikacioneve që ekzekutohen.

Duke parë mjedise të ndryshme desktopi, unë do t'i përmbledhja aplikacione të tilla nën emrin e përgjithshëm "Apps Manager (Launcher/Switcher)", domethënë një mjet për menaxhimin e aplikacioneve (hapja dhe ndërrimi midis atyre që funksionojnë), dhe gjithashtu do të tregoja shërbimet që janë një shembull i këtij lloji të aplikimit.
- Ai vjen në formën e butonit "Start" në "Taskbar" klasik (në të gjithë gjatësinë e njërës prej skajeve të ekranit):
○ xfce4-panel,
○ mate-panel/gnome-panel,
○ vala-panel,
○ nuancë2. - Ju gjithashtu mund të keni një "bar taskbar" të veçantë në formë MacOS (jo gjatësinë e plotë të skajit të ekranit), megjithëse shumë shirita detyrash mund të shfaqen në të dy stilet. Këtu, përkundrazi, ndryshimi kryesor është thjesht vizual - prania e një "efekti të zgjerimit të piktogramit në rri pezull".
○ doku,
○ latte-dock,
○ dok i kajros,
○ dërrasë. - Dhe/ose një shërbim që nis aplikacionet kur shtypni tastet kryesore (në shumë mjedise desktopi, kërkohet një komponent i ngjashëm dhe ju lejon të konfiguroni çelësat tuaj të nxehtë):
○ sxhkd.
- Ekzistojnë gjithashtu "hedhës" të ndryshëm si meny (nga anglishtja Launch (launch)):
○ dmenu-run,
○ rofi -show i dehur,
○ Albert,
○ gërmoj.

Komponentët DE: WM (Menaxheri i dritareve)
WM (Window Manager) - një aplikacion që është përgjegjës për menaxhimin e Windows, shton aftësinë për të:
- lëvizja e dritareve rreth desktopit (përfshirë atë standarde me mbajtjen e tastit Alt në çdo pjesë të dritares, jo vetëm në shiritin e titullit);
- ndryshimi i madhësisë së dritareve, për shembull, duke zvarritur "kornizën e dritares";
- shton një “titull” dhe butona për minimizimin/maksimizimin/mbylljen e aplikacionit në ndërfaqen e dritares;
- koncepti se cili aplikacion është në “fokus”.

Unë do të rendis më të njohurit (në kllapa tregoj se cila DE përdoret si parazgjedhje):
- (GNOME3)
- (Shoku)
- (GNOME2)
- (kanellë)
- (KDE)
- (XFCE),
- .

Do të listoj gjithashtu "WM të vjetër me elementë DE". Ato. Përveç menaxherit të dritares, ata kanë elementë të tillë si butoni "Start" dhe "Taskbar", të cilat janë më tipike për DE të plotë. Megjithëse, sa "të vjetër" janë ata nëse të dy IceWM dhe WindowMaker kanë lëshuar tashmë versionet e tyre të përditësuara në 2020. Rezulton se është më e saktë jo "i vjetër", por "i vjetër":
- ,
- ,
- , , , ,
- ...





Përveç "klasikut" ("menaxherët e dritareve të stivës"), vlen të përmendet veçanërisht , i cili ju lejon të vendosni dritaret "të shtruara me pllaka" në të gjithë ekranin, si dhe për disa aplikacione një desktop të veçantë për çdo aplikacion të nisur në të gjithë ekranin. Kjo është pak e pazakontë për njerëzit që nuk i kanë përdorur më parë, por duke qenë se unë vetë kam përdorur një ndërfaqe të tillë për një kohë mjaft të gjatë, mund të them se është mjaft i përshtatshëm dhe ju mësoheni shpejt me një ndërfaqe të tillë, pas së cilës Menaxherët "klasikë" të dritareve nuk duken më të përshtatshëm.
- ,
- ,
- ,
- ,
- ,
- qtil,
- bspwm,
- herbstluftwm,
- ...
- binjake
- .

Projekti gjithashtu vlen të përmendet veçmas dhe koncepti i një "menaxheri të përbërë të dritareve", i cili përdor përshpejtimin e harduerit për të shfaqur transparencën, hijet dhe efekte të ndryshme 3D. Rreth 10 vjet më parë, pati një bum në efektet 3D në Linux-desktopë. Në ditët e sotme, shumë nga menaxherët e dritareve të integruar në DE përdorin pjesërisht aftësitë e kompozimit. Kohët e fundit, - një produkt me funksionalitet të ngjashëm me Compiz for Wayland.

Një listë e detajuar e menaxherëve të ndryshëm të dritareve mund të gjendet gjithashtu në .
Komponentët DE: pushim
Vlen gjithashtu të përmenden komponentët e mëposhtëm të desktopit (këtu përdor terma të vendosura në anglisht për të përshkruar një lloj aplikacioni - këta nuk janë emrat e vetë aplikacioneve):
- Apletet:
- Softuer (paketë mjetesh miniaplikacioni) - shpesh një "grup minimal" i caktuar softuerësh furnizohet me mjedisin:
DE (Mjedisi i desktopit)
Nga komponentët e mësipërm, fitohet i ashtuquajturi "Mjedisi i Projektimit të Desktopit". Shpesh të gjithë komponentët e tij zhvillohen duke përdorur të njëjtat biblioteka grafike dhe duke përdorur të njëjtat parime të projektimit. Kështu, të paktën ruhet stili i përgjithshëm për paraqitjen e aplikacioneve.
Këtu mund të theksojmë mjediset e mëposhtme ekzistuese të desktopit:
GNOME dhe KDE konsiderohen më të zakonshmet, dhe XFCE është afër tyre.

Një krahasim i parametrave të ndryshëm në formën e një tabele mund të gjendet në përkatësin .
Shumëllojshmëri DE

Madje ka shembuj kaq interesantë nga historia: në vitet 2003-2007 për Linux Një "temë 3D për desktop" e quajtur "Project Looking Glass" u krijua nga Sun. Unë e përdora vetë këtë desktop, ose më saktë "luajta me të", pasi ishte e vështirë për t'u përdorur. Kjo "temë 3D" u shkrua në Java në një kohë kur kartat video të pajtueshme me 3D nuk ekzistonin ende. Prandaj, të gjitha efektet u rillogaritën nga procesori dhe kompjuteri duhej të ishte shumë i fuqishëm, përndryshe gjithçka do të funksiononte ngadalë. Por doli bukur. Panelet e aplikacioneve 3D mund të rrotulloheshin dhe të shpaloseshin. Mund të rrotulloheshe në një cilindër desktopi me një panoramë sfondi 360 gradë. Kishte disa aplikacione të bukura: për shembull, dëgjimi i muzikës në formën e një "ndërruesi CD", etj. Mund ta shikosh në YouTube. në lidhje me këtë projekt, vetëm cilësia e këtyre videove ka shumë të ngjarë të jetë e dobët, pasi në ato vite nuk ishte e mundur të ngarkoheshin video me cilësi të lartë.

Desktop i lehtë. Projekti ekziston për një kohë të gjatë, që nga viti 1996. Vitet e fundit, ai ka qenë mjaft i popullarizuar, në krahasim me KDE dhe GNOME më të rënda, në shumë shpërndarje që kërkojnë një ndërfaqe desktopi të lehtë dhe "klasike". Ka shumë cilësime dhe një numër të madh të programeve të veta: terminal (xfce4-terminal), menaxher skedari (thunar), shikues i fotografive (ristretto), redaktues teksti (pad mouse).

Përdoret në shpërndarjen e sistemit operativ Elementary. Mund të thuhet me të drejtë se ka desktopë të zhvilluar dhe të përdorur brenda një shpërndarjeje të vetme dhe jo të përdorur gjerësisht (nëse jo plotësisht të papërdorur) në shpërndarje të tjera. Të paktën, ata ende nuk kanë fituar popullaritet ose nuk kanë bindur një audiencë të madhe për përfitimet e qasjes së tyre. Pantheon synon të ndërtojë një ndërfaqe të ngjashme me macOS.

Opsioni me panel dok:

Fokus i fortë në efektet grafike dhe miniaplikacionet (nga ditët kur mjediset e tjera të desktopit nuk kishin pajisje kompjuterike si kalendari/ora). Përdor bibliotekat e veta. Ekziston një grup i madh i aplikacioneve të veta "të bukura": terminal (Terminologji), luajtës video (Rage), shikues fotografish (Ephoto).

Ky është një degëzim i Iluminizmit17, i cili përdoret në shpërndarjen Bodhi.Linux.

Fillimisht, një ndërfaqe "klasike" e desktopit, e krijuar ndryshe nga KDE, e cila ishte shkruar në bibliotekën QT, në atë kohë shpërndahej nën një licencë që nuk ishte shumë e përshtatshme për shpërndarjet komerciale.

Nga versioni i tretë, GNOME filloi të vinte me GNOME Shell, i cili ka një "pamje jo klasike", të cilën jo të gjithë përdoruesve e pëlqyen (çdo ndryshim i papritur në ndërfaqe është i vështirë për t'u pranuar nga përdoruesit). Si pasojë, shfaqja e projekteve fork që vazhdojnë zhvillimin e këtij desktopi në stilin "klasik": MATE dhe Cinnamon. Përdoret si parazgjedhje në shumë shpërndarje komerciale. Ka një numër të madh cilësimesh dhe aplikacionesh të veta.

Ai doli nga GNOME2 dhe vazhdon të zhvillojë këtë mjedis dizajni. Ai ka një numër të madh cilësimesh dhe pirunësh aplikacionesh që janë përdorur përsëri në GNOME2 (përdoren emra të rinj) në mënyrë që të mos ngatërrohen pirunët me versionin e tyre të ri për GNOME3).

Një fork i GNOME Shell që u siguron përdoruesve një ndërfaqe të stilit "klasik" (siç ishte rasti në GNOME2).
Ka një numër të madh cilësimesh dhe të njëjtat aplikacione si për GNOME Shell.

Një fork i stilit "klasik" i GNOME që u zhvillua si pjesë e shpërndarjes Solus, por tani vjen edhe si një desktop i pavarur në shpërndarje të tjera të ndryshme.

(ose siç quhet shpesh, thjesht KDE)
Një mjedis desktop i zhvilluar nga projekti KDE.
Ai ka një numër të madh cilësimesh të disponueshme për përdoruesin e thjeshtë nga ndërfaqja grafike dhe shumë aplikacione grafike të zhvilluara brenda kornizës së këtij desktopi.

Në vitin 2008, KDE publikoi implementimin e saj të ri të KDE Plasma (motori i desktopit u rishkrua shumë). Gjithashtu, si me GNOME/MATE, jo të gjithë fansat e KDE e pëlqyen atë. Si rezultat, u shfaq një pirun i projektit, duke vazhduar zhvillimin e versionit të mëparshëm, të quajtur TDE (Trinity Desktop Environment).

Një nga mjediset e reja të desktopit, i shkruar duke përdorur Qt (e njëjta gjuhë e përdorur nga KDE). Ofron një gamë të gjerë opsionesh personalizimi dhe një ndërfaqe mjaft të bukur (edhe pse subjektive) dhe të sofistikuar. Po zhvillohet si pjesë e shpërndarjes Deepin. LinuxEkzistojnë edhe paketa për shpërndarje të tjera.

Fluturoj
Një shembull i një mjedisi desktop të shkruar duke përdorur Qt. I zhvilluar si pjesë e shpërndarjes Astra Linux.

Ambient desktop i lehtë. Ashtu si disa shembuj të mëparshëm, të shkruar duke përdorur Qt. Në fakt, është një vazhdimësi e projektit LXDE dhe rezultat i bashkimit me projektin Razor-qt.
Siç mund ta shihni, desktopi është brenda Linux Ndërfaqja mund të duket shumë e ndryshme, dhe ka diçka për shijen e të gjithëve: nga ato shumë të bukura me efekte 3D te ato minimaliste, nga ato "klasike" te ato të pazakonta, nga ato që përdorin në mënyrë aktive burimet e sistemit te ato të lehta, nga ekranet e mëdha te tabletat/smartfonët.
Epo, do të doja të shpresoja se kam arritur të jap një ide mbi komponentët kryesorë që përbëjnë grafikën dhe desktopin në sistemin operativ. Linux.
Materiali për këtë artikull u testua në korrik 2020 në një webinar. Mund ta shikoni .
Kjo eshte e gjitha. Shpresoj se kjo ishte e dobishme. Nëse keni ndonjë pyetje ose koment, ju lutemi shkruani. Do të jem i lumtur të përgjigjem. Epo, ejani dhe studioni në !
Burimi: www.habr.com
