GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Xorg, X11, Wayland? Erklärung von Linux-Display-Servern und -Protokollen

Haben Sie sich jemals gefragt, was X-Server, Xorg, X11, Wayland und ähnliches leisten? Wayland vs. Xorg, was ist besser? Dieser Leitfaden ist für Sie !

Sie stolpern immer über diese Begriffe und wissen, dass sie mit den Grafiken zu tun haben, aber Sie möchten mehr erfahren.

Was ist ein Display-Server unter Linux?

Ein Anzeigeserver ist ein Programm, dessen Hauptaufgabe darin besteht, die Eingabe und Ausgabe seiner Clients zum und vom Rest des Betriebssystems, der Hardware und untereinander zu koordinieren. Der Anzeigeserver kommuniziert mit seinen Clients über das Anzeigeserverprotokoll.

Der Anzeigeserver ist in jeder grafischen Benutzeroberfläche, insbesondere dem Fenstersystem, von entscheidender Bedeutung. Die grundlegende Komponente der grafischen Benutzeroberfläche (GUI) sitzt zwischen der grafischen Oberfläche und dem Kernel.

Dank eines Display-Servers können Sie Ihren Computer also mit GUI verwenden. Ohne sie wären Sie nur auf eine Befehlszeilenschnittstelle beschränkt.

Es ist wichtig, den Display-Server nicht mit einer Desktop-Umgebung zu verwechseln. Die Desktop-Umgebungen (Gnome, KDE, Xfce, MATE usw.) verwenden Anzeigeserver.

Der Display-Server kommuniziert mit seinen Clients über das Display-Server-Protokoll. In Linux sind drei Anzeigeserverprotokolle verfügbar. X11 und Wayland sind zwei davon. Die dritte, Mir, würde den Rahmen dieses Tutorials sprengen.

X Window System, Xorg, X11, erklärt

X Window-System

X Window System, oft nur als X bezeichnet, ist alt. Ursprünglich im Jahr 1984 entstanden, war es das standardmäßige Windowing-System für die meisten UNIX-ähnlichen Betriebssysteme, einschließlich Linux.

X.Org

Der X.Org-Server ist die kostenlose Open-Source-Implementierung des X Window System-Anzeigeservers, der von der X.Org Foundation verwaltet wird. Es handelt sich um eine Anwendung, die über das X11-Protokoll mit Client-Anwendungen interagiert, um Dinge auf dem Display zu zeichnen und Eingabeereignisse wie Mausbewegungen, Klicks und Tastenanschläge zu senden.

Typischerweise würde man einen X-Server starten, der darauf wartet, dass sich Client-Anwendungen mit ihm verbinden. Xorg basiert jedoch auf einem Client/Server-Modell und ermöglicht daher, dass Clients entweder lokal oder remote auf einem anderen Computer ausgeführt werden.

Wenn es nicht offensichtlich ist, ist es im Design von X11 implizit, dass die Anwendung und das Display nicht auf demselben Computer sein müssen. Als X entwickelt wurde, war es weit verbreitet, dass der X-Server auf einer Workstation lief und die Benutzer Anwendungen auf einem entfernten Computer mit mehr Rechenleistung ausführten.

X11

X11 ist ein Netzwerkprotokoll. Es beschreibt, wie Nachrichten zwischen einem Client (Anwendung) und dem Display (Server) ausgetauscht werden. Diese Nachrichten enthalten normalerweise einfache Zeichenbefehle wie „Zeichne ein Kästchen“, „Schreibe diese Zeichen an dieser Position“, „Die linke Maustaste wurde geklickt“ usw.

Aber X11 ist alt, und es war immer noch ein Haufen Hacks, die auf einem Protokoll saßen, das seit über 30 Jahren nicht überarbeitet wurde. Die meisten Funktionen des X-Server-Protokolls wurden nicht mehr verwendet.

Die gesamte Arbeit, die X11 erledigte, wurde an die einzelnen Anwendungen und den Fenstermanager delegiert. Und dennoch sind all diese alten Funktionen immer noch vorhanden, belasten all diese Anwendungen und beeinträchtigen Leistung und Sicherheit.

Wayland, der Display-Server der nächsten Generation

Wayland wurde 2008 von Kristian Hogsberg, einem X.Org-Entwickler, als persönliches Projekt gestartet. Es ist ein Kommunikationsprotokoll, das die Kommunikation zwischen einem Display-Server und seinen Clients spezifiziert.

Wayland wurde als kostenloses und von der Open-Source-Community betriebenes Projekt entwickelt, um das X Window System (auch bekannt als X11 oder Xorg) durch ein modernes, sicheres und unkomplizierteres Windowing-System zu ersetzen.

In Wayland ist der Compositor der Anzeigeserver. Der Compositor ist ein Fenstermanager, der Anwendungen einen Off-Screen-Puffer für jedes Fenster bereitstellt. Der Fenstermanager setzt die Fensterpuffer zu einem Bild zusammen, das den Bildschirm darstellt, und schreibt das Ergebnis in den Anzeigespeicher.

Das Wayland-Protokoll ermöglicht es dem Compositor, die Eingabeereignisse direkt an die Clients zu senden, und ermöglicht es dem Client, das Schadensereignis direkt an den Compositor zu senden.

Wie im X-Fall aktualisiert der Client die Benutzeroberfläche (UI), wenn er das Ereignis empfängt. Aber in Wayland findet das Rendern im Client statt, also sendet der Client eine Anfrage an den Compositor, um die aktualisierte Region anzugeben.

Waylands Hauptvorteil gegenüber X besteht darin, dass es bei Null anfängt. Einer der Hauptgründe für die Komplexität von X ist, dass sich seine Rolle im Laufe der Jahre geändert hat. Infolgedessen fungiert X11 heute größtenteils als „ein wirklich schreckliches“ Kommunikationsprotokoll zwischen dem Client und dem Fenstermanager.

Auch in puncto Sicherheit ist Wayland überlegen. Mit X11 ist es möglich, etwas zu tun, das als „Keylogging“ bekannt ist, indem Sie zulassen, dass jedes Programm im Hintergrund läuft und liest, was passiert, wenn andere Fenster im X11-Bereich geöffnet sind.

Mit Wayland passiert das einfach nicht, da jedes Programm unabhängig voneinander arbeitet.

Fazit

Dennoch hat das X Window System viele Vorteile gegenüber Wayland. Obwohl Wayland die meisten Designfehler des Xorg beseitigt, hat es seine Probleme. Obwohl das Wayland-Projekt seit mehr als zehn Jahren läuft, sind die Dinge nicht 100 % stabil.

Ab 2022 werden die meisten Videospiele und grafikintensiven Anwendungen für Linux immer noch für X11 geschrieben. Außerdem bieten viele Closed-Source-Grafiktreiber, z. B. für NVIDIA GPUs, noch keine vollständige Unterstützung für Wayland.

X kann nicht von Dauer sein und Wayland ist in vielerlei Hinsicht eine Verbesserung. Aber im Moment wurde die überwiegende Mehrheit der nativen Anwendungen für Xorg geschrieben. Bis diese Apps alle portiert sind, muss Xorg gewartet werden. Wayland ist im Vergleich zu Xorg noch nicht sehr stabil.


Linux
  1. Kommunikation zwischen Prozessen in Linux:Sockets und Signale

  2. Head- und Tail-Befehle in Linux mit Beispielen erklärt

  3. Linux – Mittelklick zum Einfügen in X11/xorg deaktivieren/ändern?

  4. Fügen Sie GlusterFS-Server hinzu und entfernen Sie sie

  5. So installieren Sie RabbitMQ Server und Erlang unter Linux

Linux – Wie funktioniert die Anzeige von Linux?

Jenkins Server unter Linux:Ein kostenloser und Open-Source-Automatisierungsserver

30 interessante Tools und Dienste zur Überwachung Ihrer Linux-Server

Verwenden von Ajenti beim Verwalten von Linux-Servern

So installieren und konfigurieren Sie den DNS-Server unter Linux

Wie funktioniert die Anzeige von Linux?