Windows-Manager vs Login-Manager vs Display-Manager vs Desktop-Umgebung

55

Ich habe eine Frage gestellt und festgestellt, dass viele der folgenden Dinge nicht richtig voneinander unterschieden wurden: Windows-Manager vs. Anmeldemanager vs. Display-Manager vs. Desktop-Umgebung. Kann jemand dies bitte klären, dh uns den Unterschied zwischen ihnen und wie sie vielleicht verwandt sind, mitteilen?

In welche Kategorie fällt Xorg? Was ist mit Gdm / Kdm / Xdm? Die Leute reden auch über X. Was ist X?

ptrcao
quelle
6
Ich habe diese eine Weile zurück auf SU: superuser.com/questions/291298/...
n0pe
Die Frage wurde auch 2010 auf AskUbuntu gestellt .
Dan Dascalescu

Antworten:

54

Von unten nach oben:

  • Xorg, XFree86 und X11 sind Anzeigeserver . Dadurch wird die grafische Umgebung erstellt.
  • [gkx] dm (und andere) sind Display Manager . Ein Login-Manager ist ein Synonym. Dies ist das erste X-Programm, das vom System ausgeführt wird, wenn das System (nicht der Benutzer) X startet und Sie sich am lokalen System oder an Netzwerksystemen anmelden können.
  • Ein Fenstermanager steuert die Platzierung und Dekoration von Fenstern. Das heißt, der Fensterrahmen und die Bedienelemente sind die Dekoration. Einige davon sind eigenständig (WindowMaker, sawfish, fvwm usw.). Einige hängen von einer zugehörigen Desktop-Umgebung ab.
  • Eine Desktop-Umgebung wie XFCE, KDE, GNOME usw. sind Anwendungssuiten, die sich gut ineinander integrieren lassen, um eine konsistente Benutzererfahrung zu ermöglichen.

In der Theorie (und vor allem in der Praxis) sind alle diese Komponenten austauschbar. Sie können kmail unter Verwendung von GNOME mit WindowMaker auf Xorg ausführen.

Bahamat
quelle
1
Einige andere Anzeige- / Anmeldungsmanager: Slim, Qingy.
dubiousjim
1
Einige andere Fenstermanager: Metacity und Twm
Emanuel Berg
1
@EmanuelBerg: Metacity ist ohne GNOME meistens nutzlos und twm ist meistens nutzlos. Abgesehen davon ist meine Absicht, nur Beispiele zur Verfügung zu stellen, keine vollständige Liste.
Bahamat
Nun, ich habe nicht nach einer vollständigen Liste gefragt, ob das Ihre Interpretation ist. Ich habe nur noch zwei Beispiele genannt. Aber was nutzlos ist oder nicht, das muss jeder selbst herausfinden. Zum einen verwende ich Metacity jeden Tag und habe seit Ewigkeiten kein GNOME mehr gehabt (siehe meinen Beitrag unten). Je mehr Informationen, desto besser.
Emanuel Berg
Benötigen nicht alle Desktop-Umgebungen einen Fenstermanager? Und alle Fenstermanager ein Displaymanager? Das scheint mir logisch, aber ich habe LXDE installiert, aber anscheinend nicht LXDM ...
TheStoryCoder
16

Wenn Sie damit experimentieren, wird klar:

In /etc/rc2.dfinden Sie Dateien, die Anweisungen enthalten, wie der Computer beim Start vorgehen soll.

Wenn Sie GNOME verwenden, suchen Sie nach einer Datei mit gdmdem Namen und ersetzen Sie den S(ersten Buchstaben des Namens) durch einen Kleinbuchstaben s. (GDM ist so, wie Sie vielleicht den GNOME-Display-Manager erraten haben. Wenn Sie eine andere Suite verwenden, finden Sie natürlich heraus, welchen Display-Manager er verwendet, und deaktivieren Sie ihn auf die gleiche Weise.)

Starten Sie nun Ihren Computer neu und Sie werden feststellen, dass der Anmeldebildschirm nicht mehr angezeigt wird. Fazit 1: Kein Anzeigemanager, kein Anmeldebildschirm.

Stattdessen melden Sie sich bei der Konsole an. Versuchen Sie nun beispielsweise, einen Film abzuspielen (oder etwas mit Grafiken zu tun). Wird nicht funktionieren! Dies liegt daran, dass X nicht ausgeführt wird. Fazit 2: Kein X, keine Grafik.

Dritter Schritt: Starten von X: xinitJe nach Ihrer ~/.xinitrcDatei können mehrere Anwendungen gestartet werden. Versuchen Sie jedoch zur Veranschaulichung, X nur mit einem Terminal auszuführen, z. B. urxvt. Also, legen urxvtin .xinitrcund kommentieren-out (mit #) alles andere, dann geben xinit.

Sie sollten jetzt das urxvtFenster sehen. Hier können Sie Filme usw. abspielen. Lassen Sie uns stattdessen das urxvtFenster an einen anderen Ort verschieben. Ich kann es nicht machen. Fazit 3: Kein Fenstermanager, keine der üblichen GUI-Funktionen, an die Sie wahrscheinlich gewöhnt sind. Also, tippe exitein urxvt. (Dieser Befehl beendet das Terminal, aber da dies der einzige Prozess war, der wie in angegeben ausgeführt wurde .xinitrc, wird X ebenfalls beendet.)

Letzter Schritt, ändern Sie .xinitrcnoch einmal:

urxvt &
metacity

(Beachten Sie, &dass die Prozesse gleichzeitig ausgeführt werden.)

Führen Sie X erneut aus und sehen Sie das Ergebnis. Der letzte Teil des Puzzles: Metacity, ein Fenstermanager.

Geben Sie ein, um auszusteigen pkill -9 metacity. (In diesem Fall wird urxvt ebenfalls beendet, möglicherweise, weil &Metacity der einzige Prozess ist, den X überwacht , da es im Hintergrund (mit ) ausgeführt wurde.)

Viel Glück. Wahrscheinlich bleiben Sie bei einigen Details hängen, aber es lohnt sich, sich ein Bild zu machen.

Emanuel Berg
quelle
Ist Großbuchstabe GDMgleich Kleinbuchstabe gdm?
René Nyffenegger
Dies war eine fantastische Antwort. Es gibt Ihnen nicht nur die Antwort, sondern erklärt Ihnen, wie Sie ein besseres Verständnis aufbauen können. Danke.
Allen Kim
4

In einem Satz: Ihr Anzeigemanager erstellt eine schöne grafische Anzeige, in der Sie sich mit einem Anmeldemanager bei Ihrer X-Sitzung anmelden können, wodurch ein Fenstermanager und möglicherweise ein Desktop-Manager gestartet werden.

Sardathrion
quelle
1

@ Bahamat Antwort ist vollständig für die Frage. Ich füge jedoch Definitionen weiterer Begriffe hinzu, da diese Frage bei verwandten Google-Suchen zuerst angezeigt wird:

  • X Window System (auch bekannt als X11): Ein Netzwerkprotokoll, das Dinge wie grafische Grundelemente, Bilder, Zeigerbewegungen und Tastendrücke codiert.
  • X Display Server (z. B. Xorg und XFree86): X Server, der X11 implementiert und eine Schnittstelle für Tastaturen, Mäuse und Grafikkarten bereitstellt.
  • X Display Manager (z. B. SDDM, GDM und LightDM): Grafischer Anmeldemanager, der eine Sitzung auf einem X-Server vom selben oder einem anderen Computer aus startet
  • Widget / GUI-Toolkit / Framework / Bibliothek (z. B. GTK + und Qt): Bereitstellung von Dingen wie Schaltflächen, Bildlaufleisten, Bearbeitungsfeldern usw.
  • Fenstermanager (z. B. Metacity und Compiz): ​​Dekorieren von X-Fensterprimitiven und Unterstützen verschiedener Vorgänge wie Verschieben, Ändern der Größe und Maximieren von Fenstern.
  • Desktop-Umgebungen (z. B. GNOME, KDE, XFCE und LXDE): Bereitstellung von Bibliotheken und Spezifikationen, die von Anwendungen verwendet und befolgt werden, um mit anderen Anwendungen "gut zu spielen".

Referenz:

https://superuser.com/questions/291298/window-manager-vs-desktop-environment-vs-window-system-was- der- Unterschied

lashgar
quelle