Window Manager vs. Desktop Environment vs. Window System? Was ist der Unterschied?

23

Ich bin verwirrt, was diese Begriffe tatsächlich bedeuten UND was sie tun / wie sie zum Gesamtsystem beitragen. Insbesondere als ich Ubuntu ausführte, gab es verschiedene Schlüsselwörter wie:

Gnome 
X11 
Xorg 
Metacity 
GTK+

Was genau ist der Unterschied zwischen all diesen? Was kann geändert werden? Gilt das auch für KDE oder LXDE?

EDIT: Funktionieren auch Dinge wie Compiz in jeder Windows Manager / Windows System / Desktop-Umgebung?

n0pe
quelle
Bereits im Jahr 2010 auf AskUbuntu gefragt und ein paar Monate später auf Unix & Linux gefragt . Das Aufteilen der StackExchange-Haare in so viele Teile ist nicht immer sinnvoll.
Dan Dascalescu

Antworten:

26

X11 ist ein Netzwerkprotokoll . Es codiert beispielsweise grafische Grundelemente, Bilder, Zeigerbewegungen und Tastendrücke.

Xorg ist ein X-Server . Es implementiert X11 und bietet eine Schnittstelle zu Tastaturen, Mäusen und Grafikkarten.

GTK + ist ein Widget-Toolkit . Es bietet Dinge wie Schaltflächen, Bildlaufleisten, Bearbeitungsfelder usw.

Metacity und Compiz sind Fenstermanager . Sie dekorieren X-Fenster-Grundelemente und unterstützen verschiedene Vorgänge wie das Verschieben, Ändern der Größe und Maximieren von Fenstern.

GNOME, KDE und LXDE sind Desktop-Umgebungen . Sie stellen Bibliotheken und Spezifikationen bereit, die von Anwendungen verwendet und befolgt werden, um mit anderen Anwendungen "schön zu spielen".

Ignacio Vazquez-Abrams
quelle
Dies ist eine wirklich gute und einfache Antwort +1. Kann der Xorg-Server jedoch geändert werden oder handelt es sich um einen Linux-Standard? Außerdem habe ich noch nie von GTK + oder Metacity in einer KDE-Umgebung gehört - sind sie Gnome-spezifisch?
Nr.
3
Xorg ist einfach eine Implementierung von X11; Es ist einfach die beliebteste FOSS-Implementierung. KDE gibt an, dass Qt als Widget-Toolkit verwendet wird. Daher kann eine KDE-App GTK + nicht verwenden, da es sich dann nicht mehr um eine KDE-App handelt. Es ist möglich, Metacity unter KDE zu verwenden (der Fenstermanager ist selten Teil der DE-Spezifikation, nur eine vernünftige Vorgabe), aber der Hauptgrund für die Verwendung von KDE liegt in seiner Konfigurierbarkeit, und Metacity ist genau das Richtige Antithese der Konfigurierbarkeit.
Ignacio Vazquez-Abrams
Noch eine Frage und danke für die Info bis zu diesem Punkt. Spielen Fenstermanager eine Rolle bei der Kompatibilität mit zwei Bildschirmen? Ich bin dabei, von KDE auf eine schlanke Lösung (Blackbox / Openbox, dieser Bereich) umzusteigen, und frage mich, ob diese überhaupt Dual-Screens oder ähnliches bewirken.
Nr.
Dies sollte nicht der Fall sein , aber einige bieten unter Umständen zusätzliche Funktionen in Situationen mit mehreren Monitoren (Einrasten am Bildschirmrand, Senden an den Bildschirm usw.).
Ignacio Vazquez-Abrams
user113907 erwähnt: "X11 ist das Fenstersystem (das Ding, das die Fenster auf dem Bildschirm zeichnet)". Sie erwähnen: "X11 ist ein Netzwerkprotokoll". Kann das in Einklang gebracht werden?
Dotancohen
4

Hier sind die Begriffe definiert, zusammen mit einigen Ubuntu-zentrierten Beispielen.

  • Fenstermanager: Nimmt die Anforderungen von Fenstern auf und platziert sie dort, wo sie benötigt werden. Führt Dinge wie Titelleisten, Menüs usw. aus. Beispiel: Metacity

  • Desktop-Umgebung: Eine Obermenge von Fenstermanagern, die Elemente wie Bedienfelder, Hintergründe und andere Besonderheiten hinzufügen. Beispiel: GNOME

  • Fenstersystem: Die eigentliche Low-Level-Software, mit der Fenster überhaupt erst existieren und auf den Bildschirm gezeichnet werden können. Beispiel: Xorg

Im Allgemeinen sind Sie möglicherweise auch daran interessiert, dass der Benutzer mit dem Fenstermanager und der Desktop-Umgebung interagiert. Sie berühren das Fenstersystem nicht direkt (es sei denn, Sie befinden sich in einer Wiederherstellungsshell).

Beachten Sie auch, dass diese Dinge modular sein können, um sie mit anderen zu berücksichtigen. Sie können beispielsweise einen beliebigen Fenstermanager auf Xorg und eine beliebige Desktop-Umgebung auf einem beliebigen Fenstermanager verwenden.

new123456
quelle
4

GNOME ist eine Desktop-Umgebung (sie verwaltet die Desktopsymbole und -fenster).

Metacity ist einer der Fenstermanager von GNOME (es organisiert die Fenster).

GTK + ist das Widget-Toolkit von GNOME (es zeichnet die Schaltflächen und Kontrollkästchen).

X11 ist das Fenstersystem (das Ding, das die Fenster auf dem Bildschirm zeichnet).

Xorg ist eine Open-Source-Implementierung von X11 (normalerweise synonym mit X11).

Compiz ist ein Fenstermanager und Desktop-Compositor (ein Desktop-Compositor ist ein Programm, das Spezialeffekte, wie z. B. einen Desktop-Cube, auf Ihrem Bildschirm wiedergibt).

Sie können Compiz mindestens in GNOME, KDE und Unity ausführen. Holen Sie sich einfach das CCSM-Paket, indem Sie Folgendes in das Terminal eingeben:

$ sudo apt-get install ccsm
$ ccsm

(Geben Sie nicht das Dollarzeichen und das Leerzeichen danach ein. Dies bedeutet lediglich, dass Sie nicht als Root angemeldet sind.) Aktivieren und konfigurieren Sie in CCSM (Compiz Config Settings Manager) die gewünschten Desktop-Effekte. Achtung! Möglicherweise verlieren Sie die Titelleisten in GNOME und UNITY. Drücken Sie in diesem Fall die Tastenkombination Strg-Alt-F1 und geben Sie Folgendes ein:

$ top

Schauen Sie in die Spalte PID und notieren Sie sich die Nummer auf dem Eintrag xorg. Dann geben Sie ein:

$ sudo kill pid

Der Anmeldebildschirm sollte sofort angezeigt werden. Melden Sie sich erneut an und vermeiden Sie den Fehler, den Sie zuletzt gemacht haben. Entschuldigung für den langen Diskurs.

user113907
quelle
Ignacio Vazquez-Abrams erwähnt: "X11 ist ein Netzwerkprotokoll". Sie erwähnen: "X11 ist das Fenstersystem (das Ding, das die Fenster auf dem Bildschirm zeichnet)". Kann das in Einklang gebracht werden?
Dotancohen