Window Manager vs. Desktop Environment vs. Window System? Qual è la differenza?


22

Sono confuso su cosa significano effettivamente questi termini E su cosa fanno / su come contribuiscono al sistema nel suo insieme. In particolare, quando eseguivo Ubuntu, c'erano diverse parole chiave come:

Gnome 
X11 
Xorg 
Metacity 
GTK+

Qual è esattamente la differenza tra tutti questi? Quale può essere cambiato? Le stesse cose si applicano quando parliamo di KDE o LXDE?

EDIT: Inoltre, cose come Compiz funzionano in ogni gestore di finestre / sistemi di finestre / ambienti desktop?


Già chiesto nel 2010 su AskUbuntu e pochi mesi dopo su Unix e Linux . Dividere i peli di StackExchange in così tante parti non ha sempre senso.
Dan Dascalescu,

Risposte:


26

X11 è un protocollo di rete . Codifica cose come primitive grafiche, immagini, movimento del puntatore e pressioni dei tasti.

Xorg è un server X . Implementa X11 e fornisce un'interfaccia per tastiere, mouse e schede video.

GTK + è un toolkit di widget . Fornisce elementi come pulsanti, barre di scorrimento, caselle di modifica, ecc.

Metacity e Compiz sono gestori di finestre . Decorano X primitive per finestre e supportano varie operazioni come lo spostamento, il ridimensionamento e l'ottimizzazione delle finestre.

GNOME, KDE e LXDE sono ambienti desktop . Forniscono librerie e specifiche che le applicazioni usano e seguono per "giocare bene" con altre applicazioni.


Questa è una risposta davvero grande e semplice +1. Tuttavia, è possibile modificare il server Xorg o è uno standard linux? Inoltre, non ho mai sentito parlare di GTK + o Metacity in un ambiente KDE - sono specifici di Gnome?
n0pe

3
Xorg è semplicemente un'implementazione di X11; capita solo di essere l'implementazione FOSS più popolare. KDE specifica che Qt è utilizzato come widget di suo toolkit, quindi non è possibile per un'applicazione KDE per utilizzare GTK + in quanto sarà poi più essere un'applicazione KDE. È possibile usare Metacity sotto KDE (il window manager fa raramente parte delle specifiche DE, solo un valore predefinito ragionevole), ma la maggior parte del motivo per cui le persone che usano KDE è in primo luogo è dovuta alla sua configurabilità, e Metacity è il vero antitesi di configurabilità.
Ignacio Vazquez-Abrams,

Ancora una domanda, e grazie per le informazioni fino a questo punto. I gestori di finestre svolgono un ruolo nella compatibilità del doppio schermo? Sto per passare da KDE a una soluzione leggera (blackbox / openbox, quell'area) e mi chiedo se anche questi abbiano effetti sul doppio schermo o quel genere di cose.
n0pe

Non dovrebbero , ma alcuni potrebbero fornire funzionalità aggiuntive in situazioni multi-monitor (aggancio al bordo dello schermo, invio allo schermo, ecc.).
Ignacio Vazquez-Abrams,

user113907 menziona: "X11 è il sistema di finestre (la cosa che disegna le finestre sullo schermo)". Tu dici: "X11 è un protocollo di rete". Questo può essere riconciliato?
dotancohen,

4

Ecco i termini definiti, insieme ad alcuni esempi incentrati su Ubuntu.

  • Window Manager: accetta le richieste di Windows e le mette dove devono andare. Fa cose come le barre del titolo, i menu, ecc. Esempio: Metacity

  • Ambiente desktop: un superset di gestori di finestre che aggiunge elementi come pannelli, sfondi e altri contenuti. Esempio: GNOME

  • Windowing System: l'attuale software di basso livello che consente persino che cose come Windows esistano e le disegna sullo schermo. Esempio: Xorg

In generale, potresti anche essere interessato a sapere che il gestore delle finestre e l'ambiente desktop sono le interazioni dell'utente. Non si tocca direttamente (a meno che non ci si trovi in ​​una shell di ripristino) il sistema a finestre.

Nota anche che queste cose possono essere modulari per rispettare le altre. Ad esempio, è possibile utilizzare qualsiasi gestore di finestre su Xorg e qualsiasi ambiente desktop in cima a qualsiasi gestore di finestre.


4

GNOME è un ambiente desktop (gestisce le icone e i pannelli del desktop).

Metacity è uno dei gestori di finestre di GNOME (mantiene le finestre organizzate).

GTK + è il toolkit del widget di GNOME (disegna i pulsanti e le caselle di controllo).

X11 è il sistema di finestre (la cosa che disegna le finestre sullo schermo).

Xorg è un'implementazione open source di X11 (di solito sinonimo di X11).

Compiz è un gestore di finestre e un compositore desktop (un compositore desktop è un programma che esegue il rendering di effetti speciali, come un cubo desktop, sullo schermo).

Puoi eseguire Compiz almeno in GNOME, KDE e Unity. Ottieni il pacchetto CCSM inserendolo nel terminale:

$ sudo apt-get install ccsm
$ ccsm

(Non inserire il simbolo del dollaro e lo spazio dopo di esso; ciò significa solo che non sei connesso come root.) In CCSM (Compiz Config Settings Manager), attiva e configura gli effetti desktop che desideri. Stai attento! Potresti perdere le barre del titolo in GNOME e UNITY. Se ciò accade, premere Ctrl-Alt-F1 e quindi digitare:

$ top

Guarda sotto la colonna PID e annota il numero sulla voce xorg. Quindi inserire:

$ sudo kill pid

La schermata di accesso dovrebbe apparire immediatamente. Accedi di nuovo ed evita di fare l'errore che hai fatto l'ultima volta. Ci scusiamo per il lungo discorso.


Ignacio Vazquez-Abrams menziona: "X11 è un protocollo di rete". Tu dici: "X11 è il sistema di finestre (la cosa che disegna le finestre sullo schermo)". Questo può essere riconciliato?
dotancohen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.