Questu articulu tratta di cumu sò strutturati i grafichi Linux è di quali cumpunenti hè custituitu. Cuntene parechje screenshots di diverse implementazioni di l'ambiente desktop.
Sè ùn cunniscite micca veramente a differenza trà KDE è GNOME, o sè a cunniscite ma vulete sapè quali alternative ci sò, allora questu articulu hè per voi. Hè una panoramica, è mentre cuntene parechji nomi è uni pochi di termini, u materiale serà ancu utile per i principianti è quelli chì cercanu solu in u campu. Linux.
Stu tema pò esse d'interessu per l'utilizatori avanzati, ch'elli stanu cunfigurà l'accessu remotu o implementendu un client ligeru. Spessu scontru utilizatori Linux esperti chì dicenu: "U servitore hà solu a linea di cummanda, è ùn aghju micca intenzione di studià a grafica in dettagliu, postu chì questu hè tuttu per l'utilizatori basi". Ma ancu l'esperti Linux cun grande surpresa è gioia scoprenu l'opzione "-X" di u cumandamentu ssh (è per questu hè utile capisce u funziunamentu è e funzioni di u servitore X).

Insegno corsi dapoi quasi 15 anni. Linux in ""è sò sicuru chì parechje di e più di cinquemila persone chì aghju furmatu leghjenu è probabilmente scrivenu articuli nantu à Habr. I corsi sò sempre assai intensi (a durata media di u corsu hè di cinque ghjorni), coprendu temi chì ci vulerianu almenu dece ghjorni per capisce cumpletamente. È durante u corsu, secondu u publicu (principianti o amministratori esperti) è e "dumande di u publicu", scelgu sempre ciò chì trasmette in più dettagliu è ciò chì copre più superficialmente, dedicendu più tempu à l'utilità di linea di cummanda è a so applicazione pratica. Ci sò parechji temi di stu tipu chì devenu esse sacrificati un pocu. Questa hè "Storia" Linux", "Differenze in e distribuzioni Linux"," "À propositu di e licenze: GPL, BSD, ...", "À propositu di a grafica è di l'ambienti desktop" (u tema di questu articulu), ecc. Ùn hè micca chì ùn sianu micca impurtanti, ma di solitu ci sò assai più dumande "quì è avà" pressanti è solu uni pochi di ghjorni... Tuttavia, per una capiscitura generale di e basi di u sistema operativu Linux, capiscendu a diversità dispunibile (in modu chì ancu aduprendu una distribuzione specifica Linux, anu sempre una visione più larga di tuttu stu mondu immensu è senza limiti chì si chjama "Linux") Hè utile è necessariu studià sti temi.
In tuttu l'articulu, per ogni cumpunente, indicà ligami per quelli chì volenu immersione più in u tema, per esempiu, à l'articuli di Wikipedia (mentre indicà una versione più cumpleta / utile s'ellu ci sò articuli inglesi è russi).
Per esempi basi è screenshots, aghju utilizatu a distribuzione openSUSE. Era pussibule di utilizà qualsiasi altra distribuzione sviluppata in a cumunità cù un gran numaru di pacchetti in u repository. Hè difficiuli, ma pussibule, di dimustrà a varietà di disinni di scrivania nantu à una distribuzione cummerciale, postu chì spessu usanu solu unu o dui di l'ambienti di scrittura più cunnisciuti. Dunque, i sviluppatori limitanu u compitu di liberà un OS stabile è debuggatu. In u stessu sistema, aghju installatu tutti i DM / DE / WM (una spiegazione di sti termini sottu), chì aghju trovu in u repository.
I screenshots cù "quadri blu" sò solu fatti nantu à openSUSE.
Screenshots cù "quadri bianchi" sò stati fatti nantu à altre distribuzioni, sò indicati in a screenshot.
I screenshots cù "cunfini grigi" sò stati pigliati da Internet, cum'è esempi di disinni di desktop di l'altri.
Allora, cuminciamu.
I cumpunenti principali chì custituiscenu gràfiche
Elencu trè cumpunenti principali è elencu in l'ordine in quale sò lanciati à l'iniziu di u sistema:
- DM (Display Manager);
- servitore di visualizazione;
- DE (Desktop Environment).
Inoltre, cum'è sub-elementi impurtanti di l'Ambiente Desktop:
- Apps Manager / Launcher / Switcher (buttone Start);
- WM (Gestione di finestra);
- vari software chì vene cù l'ambiente desktop.
Più dettagli nantu à ogni articulu.
DM (Gestione di Display)
A prima applicazione chì principia quandu "grafica" principia hè DM (Display Manager), un gestore di visualizazione. I so compiti principali:
- dumandate à quale utilizatori lascià in u sistema, dumandate dati di autentificazione (password, impronta digitale);
- sceglite l'ambiente desktop per eseguisce.
Attualmente, diverse distribuzioni sò largamente usate:
- (cambiatu ),
- ,
- ,
- .
- Vale ancu a pena di menziunà Fly-DM (utilizatu in AstraLinux).
A lista di i DM esistenti hè tenuta à ghjornu




Hè da nutà chì e seguenti screenshots utilizanu u stessu gestore di visualizazione LightDM, ma in diverse distribuzioni (i nomi di distribuzione sò in parentesi). Scuprite quantu differente stu DM pò vede grazia à u travagliu di i diseggiani di e diverse distribuzioni.





A cosa principale in questa diversità hè di fà chjaru chì ci hè una applicazione chì hè rispunsevuli di lanciari gràfiche è chì permette à l'utilizatore per accede à sti gràfiche, è ci sò diverse implementazioni di sta applicazione chì sò diffirenti in l'apparenza è alcune funziunalità (scelta di designu). ambienti, scelta di l'utilizatori, versione per l'utilizatori mali vede, a pussibilità d'accessu à distanza via u protocolu ).
Servitore di visualizazione
Display Server hè un tipu di fundazione gràfica, u compitu principale di quale hè di travaglià cù una carta video, un monitor, è cù diversi dispositi di input (teclatu, mouse, touchpads). Questu hè, una applicazione (per esempiu, un navigatore o un editore di testu) chì hè resa in un "graficu" ùn hà micca bisognu di sapè cumu travaglià direttamente cù i dispositi, ùn hà micca bisognu di sapè di i drivers. Hè tuttu curatu da a X Window.
Quandu si tratta di Display Server, esiste dapoi parechji anni. Linux, è in Unix era pensatu cum'è una applicazione o in a ghjente cumuna X (X).
Avà parechje distribuzioni rimpiazzanu X cù .
Pudete ancu leghje:
- ,
- ,
- (necessariu per u lanciu remotu di applicazioni grafiche, per esempiu usendu PuTTY).
Prima, eseguimu X è uni pochi di applicazioni grafiche in elli.
Practicum "esegui X è applicazioni in questu"
Fararaghju tuttu da u novu utilizatore webinaruser (saria più faciule, ma micca più sicuru, per fà tuttu da root).
- Siccomu H'am hà bisognu d'accessu à i dispositi, aghju datu accessu: Aghju determinatu a lista di i dispositi fighjendu l'errori quandu si cumincianu X in u log (/home/webinaruser/.local/share/xorg/Xorg.77.log)
% sudo setfacl -m u:webinaruser:rw /dev/tty8 /dev/dri/card0 /dev/fb0 /dev/input/*
- Dopu à quessa, cummincià X's:
% X -retro :77 vt8 &
Opzioni: * -retro - cumencia cù un fondu classicu "grigiu", micca neru cum'è predefinitu; * :77 - Aghju stabilitu (qualchese in un intervallu raghjone hè pussibule, solu : 0 hè più prubabilmente occupatu da i gràfici digià in esecuzione) u numeru di schermu, qualchì identificatore unicu attuale da quale serà pussibule di distinguishà trà parechji X in esecuzione; * vt8 - specifica u terminal, quì /dev/tty8, nantu à quale X seranu visualizati).
- Lanciazione di l'applicazione grafica:
Per fà questu, avemu prima stabilitu una variabile da quale l'applicazione capisce quale di i X chì aghju in esecuzione per mandà ciò chì deve esse disegnatu:
% export DISPLAY=":77"
Pudete vede a lista di X in esecuzione cusì:
ps -fwwC X
Dopu chì a variabile hè stata stabilita, pudemu lancià l'applicazioni in i nostri X - per esempiu, aghju lanciatu u clock:
% xclock -update 1 &
% xcalc &
% xeyes -g 200x150-300+50 &

L'idee principali è cunclusioni da stu fragmentu:
- X hà bisognu di accessu à i dispositi: terminale, carta video, dispositivi di input,
- X's stessi ùn mostranu micca elementi di l'interfaccia - hè un grisgiu (se cù l'opzione "--retro") o una tela negra di certe dimensioni (per esempiu, 1920 × 1080 o 1024 × 768) per eseguisce applicazioni grafiche in questu.
- U muvimentu di a "croce" mostra chì X traccia a pusizione di u mouse è trasmette sta informazione à l'applicazioni chì currenu in questu.
- Inoltre, X catturà i tasti di u teclatu è passanu sta informazione à l'applicazioni.
- A variabile DISPLAY dice à l'applicazioni grafiche nantu à quale schermu (ogni X hè lanciatu cù un numeru di schermu unicu à l'iniziu), è dunque quale di quelli chì funzionanu nantu à a mo macchina, per disegnà X. (Hè ancu pussibule di stabilisce sta variàbile à una macchina remota è mandà output à Xs in esecuzione in una altra macchina in a reta.) Dapoi Xs sò stati cuminciati senza l'opzione -auth, ùn ci hè bisognu di trattà cù a variabile XAUTHORITY o l'xhost. cumanda.
- L'applicazioni grafiche (o cume sò chjamate da X-clienti) sò disegnate in X - mentre chì senza a capacità di spustà / chjude / cambià "-g (Larghezza) x (Altezza) + (ShiftFromLeftEdge) + (ShiftFromTopEdge)". Cù un segnu minus, rispettivamente, da a diritta è da u fondu di fondu.
- Dui termini chì valenu a menzione sò X server (cum'è X hè chjamatu) è X client (cum'è qualsiasi applicazione grafica chì corre in X hè chjamata). Ci hè un pocu cunfusione in capiscenu sta terminologia, assai capiscenu esattamente u cuntrariu. In u casu quandu aghju cunnessu da a "macchina cliente" (in a terminologia di l'accessu remota) à u "servitore" (in a terminologia di l'accessu remota) per vede una applicazione grafica da u servitore nantu à u mo monitor, allura u servitore X cumencia nantu à u mo monitor. macchina induve u monitor (vale à dì, nantu à a "macchina cliente", micca in u "servitore"), è i clienti X cumincianu è eseguite nantu à u "servitore", ancu s'elli sò visualizati nantu à u monitor di a "macchina cliente".

cumpunenti DE
In seguitu, analizzeremu i cumpunenti chì generalmente custituiscenu u desktop.
Componenti DE: Start Button è Taskbar
Accuminciamu cù u buttone chjamatu "Start". Spessu questu hè un applet separatu utilizatu in a "Taskbar". Ci hè ancu generalmente un applet per cambià trà l'applicazioni in esecuzione.

Dopu avè guardatu diversi ambienti di desktop, riassumessi tali applicazioni sottu u nome generale "Apps Manager (Launcher / Switcher)", vale à dì, un strumentu per a gestione di l'applicazioni (lanciamentu è cambià trà quelli in esecuzione), è ancu indicà utilità chì sò un esempiu di una applicazione di stu tipu.
- Succece in a forma di un buttone "Start" in u classicu (lunghezza tutale di unu di i bordi di u screnu) "Taskbar":
○ xfce4-panel,
○ mate-panel/gnome-panel,
○ vala panel,
○ tinta 2. - Pudete ancu mette in risaltu "Taskbars in forma di MacOS" per separatamente (micca tutta a lunghezza di u bordu di u screnu), ancu s'è parechje taskbars ponu appare in i dui. Quì, piuttostu, a diferenza principale hè puramente visuale - a prisenza di "l'effettu di l'icone crescente in hover".
○ dock,
○ latte dock,
○ cairo dock,
○ tavola. - E / O un serviziu chì lancia l'applicazioni quandu i tasti di scelta rapida sò pressati (in parechji ambienti di scrittura, un cumpunente simili hè necessariamente presente è vi permette di cunfigurà i vostri tasti di scelta rapida):
○ sxhkd.
- Ci sò ancu diversi "launchers" in forma di menu (da l'inglese. Launch (run)):
○ dmenu-run,
○ rofi -show drun,
○ Albert,
○ grunge.

Cumpunenti DE: WM (Window Manager)
WM (Window Manager) - un tipu d'applicazione chì hè rispunsevule per a gestione di Windows, aghjunghje a capacità di:
- muvimenti di Windows intornu à u desktop (cumpresu u standard cù mantene a chjave Alt per qualsiasi parte di a finestra, è micca solu per u titulu);
- ridimensionà i finestri, per esempiu, trascinendu u "quadru di finestra";
- aghjunghje un "titulu (titulu)" è i buttoni per minimizzà / maximizà / chjude l'applicazione à l'interfaccia di a finestra;
- u cuncettu di quale applicazione hè in "focus".

Elencheraghju i più famosi (indicu in parentesi quale DE hè utilizatu per difettu):
- (GNOME3)
- (compagnu)
- (GNOME2)
- (cannella)
- (KDE)
- (XFCE),
- .

Elencu ancu "vechju WM cù elementi DE". Quelli. in più di u gestore di finestra, anu elementi cum'è u buttone Start è a Taskbar, chì sò più inherenti à DE full-fledged. Ancu s'ellu sò "vechji", se sia IceWM sia WindowMaker anu digià liberatu e so versioni aghjurnate in 2020. Risulta chì hè più currettu micca "vecchi", ma "vecchi":
- ,
- ,
- , , , ,
- ...





In più di u "classic" ("stack window managers"), vale a pena nutà separatamente , chì permette à i finestri per esse piastrellati in tutta a pantalla, è per alcune applicazioni, un desktop separatu per ogni applicazione in esecuzione in schermu pienu. Questu hè un pocu inusual per e persone chì ùn l'anu micca usatu prima, ma siccomu aghju utilizatu una tale interfaccia per un bellu pezzu, possu dì chì hè abbastanza còmuda è vi abituate rapidamente à una tale interfaccia, dopu chì i gestori di finestra "classici" ùn parenu micca convenienti.
- ,
- ,
- ,
- ,
- ,
- qtile,
- bspwm,
- herbstluftwm,
- ...
- gemella,
- .

Hè vale a pena menzionate separatamente u prugettu è u cuncettu di un "gestore di finestre cumpostu", chì usa l'accelerazione hardware per visualizà a trasparenza, l'ombre è diversi effetti 3D. Circa 10 anni fà, ci hè statu un boom di effetti 3D Linux-desktops. Oghje ghjornu, parechji di i gestori di finestre integrati in i DE utilizanu parzialmente capacità di cumpusizione. Recentemente, - un pruduttu cù funziunalità Compiz simili per Wayland.

Una lista dettagliata di diversi gestori di finestra pò ancu esse truvata à .
cumpunenti DE: u restu
Hè vale a pena nutà ancu i seguenti cumpunenti di u desktop (qui aghju utilizatu termini stabiliti in inglese per descriverà u tipu d'applicazione - ùn sò micca i nomi di l'applicazioni stessi):
- Applets:
- Software (Widget Toolkit) - spessu un certu "set minimu" di software vene cù l'ambiente:
DE (Desktop Environment)
Da i cumpunenti elencati sopra, u cusì chjamatu "Ambiente Desktop" hè ottenutu. Spessu tutti i so cumpunenti sò sviluppati utilizendu e stesse librerie grafiche è utilizendu i stessi principii di disignu. Cusì, almenu, u stilu generale per l'apparizione di l'applicazioni hè mantinutu.
Quì pudemu mette in risaltu i seguenti ambienti di desktop attualmente esistenti:
GNOME è KDE sò cunsiderate i più cumuni, è XFCE hè nantu à i so tacchi.

A paraguni da parechji paràmetri in a forma di una tavula pò esse vistu in u currispundente .
Varietà DE

Ci sò ancu esempi cusì interessanti da a storia: in u 2003-2007 per Linux Un "tema di desktop 3D" chjamatu "Project Looking Glass" hè statu creatu da Sun. Aghju utilizatu questu desktop stessu, o piuttostu "aghju ghjucatu cun ellu", postu chì era difficiule d'utilizà. Stu "tema 3D" hè statu scrittu in Java in un'epica quandu e carte video capaci di 3D ùn esistevanu ancu. Dunque, tutti l'effetti eranu ricalculati da u processore, è l'urdinatore duvia esse assai putente, altrimenti tuttu funzionava pianu pianu. Ma hè andatu bè. I pannelli di l'applicazione 3D pudianu esse girati è spiegati. Si pudia girà in un cilindru di desktop cù un panorama di carta da parati à 360 gradi. Ci eranu parechje belle applicazioni: per esempiu, ascultà musica in forma di "cambiatore di CD", ecc. Pudete vedelu nantu à YouTube. circa stu prughjettu, solu a qualità di sti video sarà più prubabilmente povera, postu chì in quelli anni ùn era micca pussibule di cullà video di alta qualità.

Scrivania ligera. Ci hè un prughjettu per un bellu pezzu, dapoi u 1996. Nta l'ultimi anni, assai populari, in uppusizione à i più pesanti KDE è GNOME, in parechje distribuzioni chì necessitanu una interfaccia di desktop ligera è "classica". Hà parechje paràmetri è un gran numaru di i so prugrammi: terminal (xfce4-terminal), file manager (thunar), visor d'imaghjini (ristretto), editor di testu (mousepad).

Hè adupratu in a distribuzione Elementary OS. Hè ghjustu di dì chì ci sò desktop sviluppati è aduprati in una sola distribuzione è micca largamente aduprati (s'ellu ùn sò micca cumpletamente inutilizati) in altre distribuzioni. Almenu, ùn anu ancu guadagnatu pupularità o cunvintu un vastu publicu di i benefici di u so approcciu. Pantheon hà per scopu di custruisce una interfaccia simile à macOS.

Opzione di pannellu Dock:

Forte focus in effetti grafichi è widgets (dapoi i ghjorni chì l'altri ambienti di desktop ùn anu micca widgets nantu à u desktop, cum'è u calendariu / clock). Aduprà e so propiu biblioteche. Ci hè un grande inseme di e so "belle" applicazioni: terminal (Terminologia), video player (Rage), visor di stampa (Ephoto).

Questa hè una furchetta di Enlightenment17, chì hè aduprata in a distribuzione Bodhi.Linux.

Inizialmente una interfaccia di desktop "classica", creata in uppusizione à KDE, chì hè stata scritta nantu à a libreria QT, à quellu tempu distribuitu sottu una licenza chì ùn era micca assai còmuda per distribuzioni cummerciale.

Da a terza versione di GNOME, GNOME hà cuminciatu à spedinu cù u GNOME Shell, chì hà un "aspettu micca classicu", chì ùn piace micca à tutti l'utilizatori (qualsiasi cambiamenti bruschi in l'interfaccia sò difficiuli per l'utilizatori di accettà). In u risultatu - l'emergenza di prughjetti di furchetta chì cuntinueghjanu u sviluppu di stu desktop in u stilu "classicu": MATE è Cinnamon. Adupratu per difettu in parechje distribuzioni cummerciale. Havi un gran numaru di paràmetri è e so applicazioni.

Apparsu nantu à a basa di GNOME2 è cuntinueghja à sviluppà stu ambiente. Havi un gran numaru di tweaks è furchetti di l'applicazioni chì sò stati utilizati torna in GNOME2 (nu novi nomi sò usati per ùn cunfundà e forche cù a so nova versione per GNOME3).

Una furchetta di GNOME Shell chì furnisce l'utilizatori cù una interfaccia di stile "classica" (cum'è era in GNOME2).
Hà un gran numaru di paràmetri è e stesse applicazioni cum'è per GNOME Shell.

Una furchetta di stile "classicu" di GNOME chì hà sviluppatu cum'è parte di a distribuzione Solus, ma avà vene ancu cum'è un desktop standalone in diverse altre distribuzioni.

(o, cum'è spessu chjamatu, solu KDE)
Ambiente desktop sviluppatu da u prughjettu KDE.
Havi un gran numaru di paràmetri dispunibili per un utilizatore simplice da l'interfaccia grafica è parechje applicazioni grafiche sviluppate in questu desktop.

In u 2008, KDE hà liberatu a so nova implementazione di KDE Plasma (u mutore di desktop hè statu riscritto assai). Inoltre, cum'è cù GNOME/MATE, micca tutti i fan di KDE li piacia. In u risultatu, una furchetta di u prugettu apparsu, cuntinuendu u sviluppu di a versione precedente, chjamata TDE (Trinity Desktop Environment).

Unu di i novi ambienti di desktop, scrittu cù Qt (u listessu linguaghju adupratu da KDE). Offre una larga gamma d'opzioni di persunalizazione è una interfaccia abbastanza bella (ancu s'ella hè sughjettiva) è sofisticata. Hè sviluppatu cum'è parte di a distribuzione Deepin. LinuxCi sò ancu pacchetti per altre distribuzioni.

Focu
Un esempiu di un ambiente di desktop scrittu cù Qt. Sviluppatu cum'è parte di a distribuzione Astra Linux.

Ambiente di desktop ligeru. Cum'è parechji esempi previ, scritti cù Qt. In fatti, hè una continuazione di u prughjettu LXDE è u risultatu di una fusione cù u prughjettu Razor-qt.
Cum'è pudete vede, u desktop hè in Linux L'interfaccia pò sembrà assai diversa, è ci n'hè per tutti i gusti: da quelle assai belle cù effetti 3D à quelle minimaliste, da quelle "classiche" à quelle inusuali, da quelle chì utilizanu attivamente e risorse di u sistema à quelle leggere, da i schermi grandi à e tablette/smartphone.
Ebbè, mi piacerebbe sperà d'avè riesciutu à dà una idea di i cumpunenti principali chì custituiscenu a grafica è u desktop in u sistema operativu. Linux.
U materiale per questu articulu hè statu pruvatu in lugliu 2020 in un webinar. Pò esse vistu .
Eccu tuttu. Spergu chì era utile. Sì avete qualchì quistione è cumenti, scrivite. Seraghju felice di risponde. Ebbè, venite à studià !
Source: www.habr.com
