Erläuterung des gesamten Fenstermanagers und der Desktop-Dinge

Erläuterung des gesamten Fenstermanagers und der Desktop-Dinge

Soweit ich mich erinnere, habe ich die folgenden Begriffe schon oft gehört. Es gibt einfach keine Quelle, die sie und ihre Beziehung zueinander beschreibt. Und es ist, gelinde gesagt, verwirrend.

Kann mir jemand, wie man es einem Fünfjährigen erklären würde, die folgenden Begriffe und ihre Beziehung bzw. Korrelation zueinander erklären:

  • Gnom
  • KDE
  • Einheit
  • Xorg
  • x11
  • x-Server
  • startx
  • Pantheon
  • GTK
  • QT
  • Fenstermanager

Antwort1

Gnome, KDE, Unity, Pantheon

Gnome, KDE, Unity, Pantheon sind Desktopumgebungen.
Eine Desktopumgebung besteht aus vielen verschiedenen Tools. z. B.: Anmeldemanager, Fenstermanager, Anwendungsstarter, Menüs, Terminalemulator, Dateimanager, Webbrowser, Editor, grafische Tools zur Systemkonfiguration und viele andere Dienstprogramme. Es ist ein Komplettpaket mit allem, was Sie brauchen.

Bild vonReddit:
Bildbeschreibung hier eingeben

GTK und QT

GTK und QT sind Toolkits/Frameworks zur Entwicklung von Software. Beispielsweise nutzen viele für die Gnome-Desktopumgebung entwickelte Tools GTK zur Erstellung ihrer GUI. Anstatt alles selbst zu schreiben, kann ich diese verwenden, um meine Entwicklung zu beschleunigen und gleichzeitig ein Standard-Framework zu verwenden und zu befolgen, das alle anderen Programme in derselben Umgebung verwenden.

Bildbeschreibung hier eingeben

X, X11 und Xorg

X ist ein Framework, wir können es sogar als Protokoll bezeichnen, X11 ist die letzte Version dieses Protokolls und Xorg (Xorg-Server: X verwendet eine Server-Client-Struktur) ist eine Implementierung von x11, es ist wie HTTP und Browser, HTTP ist ein Protokoll, HTTP2 ist die letzte Version und Webbrowser, die diese Protokolle verwenden, um mit Webservern zu kommunizieren, haben es irgendwie implementiert.

Aus Wikipedia:

X bietet das grundlegende Framework für eine GUI-Umgebung: Zeichnen und Verschieben von Fenstern auf dem Anzeigegerät und Interaktion mit Maus und Tastatur.

Es ermöglicht uns einfach, Dinge zu zeichnen und anzuzeigen und enthält außerdem viele notwendige Treiber.

Allerdings benötigt auch X einen Fenstermanager, um seine Fähigkeiten nutzen zu können. Im folgenden Bild sehen Sie einen twmFenstermanager und xtermandere Dinge, die eine X-Sitzung ausführen. Weitere Informationen zu Fenstermanagern finden Sie im letzten Abschnitt.

Bildbeschreibung hier eingeben

startx

startxist ein Skript zum Aufrufen einer grafischen Umgebung. Es initialisiert eine X-Sitzung.

Fenstermanager

Fenstermanager sind meist Teil der Desktop-Umgebung, Sie können sie sogar anstelle einer vollständigen Desktop-Umgebung verwenden. Es gibt viele verfügbare Fenstermanager, beispielsweise: i3wm, Awesome, Openbox, Fluxbox, Blackbox, xfwm4, Compiz usw.

Bildbeschreibung hier eingeben

Sie steuern, wie sich unsere Fenster verhalten, wie sie aussehen, welche Elemente sie haben, wo mein Titel und meine Standardschaltflächen angezeigt werden sollen, was passiert, wenn ich sie ziehe, ihre Größe ändere oder sie schließe usw. Fenstermanager verwenden Anzeigeserver wie X oder Wayland, um dies zu erreichen.

Die Bilder stammen aus Wikipedia.

Antwort2

ELI5-Erklärung:

  • Xorg, x11, x-Server – alles dasselbe. Im Grunde handelt es sich um eine riesige Software, die eine GUI ermöglicht. Wenn kein X-Server läuft, gibt es keine GUI.
  • Fenstermanager - das macht Windows hübsch. Der X-Server bietet Ihnen das Grundgerüst.
  • startxist ein Befehl. Früher wurde damit die GUI aufgerufen.
  • Gnome, KDE, Unity, Pantheon – alles grafische Shells. Während der X-Server Ihnen eine einfache GUI bietet, verleihen grafische Shells Apps ein bestimmtes Aussehen und Verhalten (wie z. B. Alt+ Tab). Arbeiten mit Fenstermanagern zusammen. Werden oft mit zusätzlicher Software wie Texteditoren, Webbrowsern usw. geliefert. Eine Korrektur bezüglich Unity sollte vorgenommen werden – es ist eigentlich nur ein Plug-in für den Fenstermanager Compiz, was offensichtlich wird, wenn Unity abstürzt und Sie mit einem einfachen Desktop und ohne Launcher oder oberes Bedienfeld zurückbleiben.
  • GTK, QT – grafische Toolkits. Im Grunde die „Sprache“ der GUI-Programmierung. Genauer gesagt handelt es sich dabei um „Bibliotheken“, und die meisten gängigen Sprachen auf dem Linux-Desktop wie Python oder C++ verwenden diese Bibliotheken zum Erstellen von GUI-Apps.

verwandte Informationen