Was ist Wayland unter Linux und wie unterscheidet es sich von X?


Öffnen Sie den Dateimanager auf dem System76 Gazelle-Laptop
Hannah Stryker / How-To-Geek

Wayland ist ein Ersatz-Fenstersystem für Linux-Distributionen. Es ersetzt den veralteten X11-Standard. Da die Anwendungen angepasst werden müssen, um damit zu funktionieren, verlief die Einführung bisher langsam. Zum Zeitpunkt des Verfassens dieses Artikels ist die erhöhte Sicherheit der Hauptvorteil gegenüber X11.

X11 oder das X Window System ermöglicht die Anzeige und Steuerung von Fenstern in Ihrer grafischen Desktop-Umgebung. Wayland ist ein Ersatz für X11. Es ist darauf ausgelegt, schneller und sicherer zu sein. Hier erfahren Sie, was Sie über sie wissen müssen.

Was ist Wayland?

Wayland ist ein moderner Ersatz für X11, das seit Jahrzehnten das Standard-Fenstersystem unter Linux ist. Wayland ist ein Kommunikationsprotokoll, das die Nachrichtenübermittlung zwischen einem X Window-Anzeigeserver und Clientanwendungen definiert. Das Wayland-Projekt stellt Client- und Serverbibliotheken bereit, die es Anwendungen ermöglichen, das Protokoll zu verwenden.

Das Wayland-Projekt wurde von a ins Leben gerufen roter Hut Entwickler im Jahr 2008.

Die vielen Namen von X

Das X-Window-System ist ein Fenstersystem, das erstmals für den Unix-Betriebssystem von veröffentlicht wurde Massachusetts Institute of Technology im Jahr 1984. Anwendungen können auf der Funktionalität des Fenstersystems aufbauen, um Benutzeroberflächen zu generieren.

1987 hatte das X-Window-System Version 11 erreicht und wurde als X11 bekannt. Es wird jetzt von der verwaltet X.Org-Stiftung. Es handelt sich immer noch um Version 11, obwohl es seit 1987 viele kleinere Versionen gab. Zum Zeitpunkt des Verfassens dieses Artikels handelt es sich um die aktuelle stabile Version X11R7.7.

Das „X“ im Namen bedeutet weder zehn in römischen Ziffern noch impliziert es „Xtra“, „Xtended“ oder ähnliches. Ein früheres Fenstersystem hieß „W“ für „Fenster“, und beim Start des neuen Projekts wechselten sie einfach zum nächsten Buchstaben im Alphabet.

Sie werden das X-Window-System als „X“, „X11“, „Xorg“, „X Windows“ und „X-Window-System“ bezeichnen.

Wie X11 funktioniert

Das X-Window-System verarbeitet Ereignisse und Grundfunktionen auf niedriger Ebene, z. B. die Interaktion mit dem Maus sowie Zeichnen und Verschieben von Fenstern. Die Anwendungen kümmern sich um die visuelle Darstellung und das Interface-Design. Das Aussehen der Fenster, welche Schaltflächen sie haben und wo sich diese Schaltflächen befinden, sind Entscheidungen, die der Anwendungsprogrammierer trifft. Das X Window System zeichnet das resultierende Design auf den Bildschirm.

X11 bietet eine Definition für die Kommunikation, die zwischen den verschiedenen Komponenten eines funktionierenden X Window Systems erfolgen muss. Diese Kommunikation ist erforderlich, da sich der Code, den eine X-fähige Anwendung zum Zeichnen ihrer Fenster und Schnittstellenelemente verwendet, nicht in der Anwendung befindet. Diese Arbeit wird zwischen einem X-Server und dem Window Manager geteilt.

Anwendungen sind Clients des X-Servers. Der Window Manager ist eine besondere Art von Client. Der X-Server ist für die Verwaltung von Ressourcen, die Ausführung von Zeichnungsanforderungen und die Weiterleitung von Ereignissen wie Tastendrücken und Mausklicks an die entsprechenden Anwendungen zuständig.

Es fungiert auch als Vermittler bei der Kommunikation zwischen dem Window Manager und den Anwendungen und vermittelt Nachrichten zwischen ihnen hin und her. Der Fenstermanager verwaltet eine Liste der Fenster, die Anwendungen geöffnet haben, wo sie sich auf dem Bildschirm befinden, welche Größe sie haben, ob sie sich überlappen usw.

Ein Compositing-Fenstermanager verwaltet für jedes Fenster einen Off-Screen-Puffer. Es fügt diese Puffer zu einem einzigen Bild zusammen, das das oberste Fenster – das den gesamten Desktop darstellt – darstellt und auf den Bildschirm geschrieben wird.

Alle modernen grafischen Desktop-Umgebungen, einschließlich GNOME und KDE, verwenden Compositing-Fenstermanager.

Wie Wayland funktioniert

Wayland soll die Probleme von X11 lösen. Die X11-Architektur erfordert viel Messaging. Der X-Server sitzt zwischen den Clients und dem Window Manager. Es liegt auch zwischen allem und – über das Kernel – die Grafikhardware. Das Volumen der Nachrichten kann zu Latenz und einem verzögerten, unruhigen visuellen Erlebnis führen.

Es gibt auch eine große Codebasis. Es gibt die Serveranwendung, die Window Manager-Anwendung und die X11-Bibliothek, die Clients verwenden. Je größer (und älter) Ihre Codebasis ist, desto schwieriger ist die Wartung und desto mehr werden Sie mit Legacy-Code zu kämpfen haben.

Durch die Änderung der Architektur hat Wayland die Codebasis modernisiert und optimiert, was zu Leistungsvorteilen und verbesserter Sicherheit führt.

Tatsächlich haben sie den Server und den Fenstermanager in einer Anwendung zusammengeführt. Sie haben jeglichen Code entfernt, der Funktionen ausführte, die jetzt vom Kernel ausgeführt werden. Anstatt den Aufwand zu replizieren, nutzten sie die Funktionalität des Kernels.

Mit Wayland kommunizieren der Compositor und die Client-Anwendung direkt. Der Compositor behält seine interne Zuordnung darüber bei, welche Fenster sich wo auf dem Desktop befinden und welche Größe und welchen Status sie haben. Er vermittelt Tastatur-, Maus- und Fensteränderungsereignisse und sendet sie an die Anwendungen, denen diese Fenster gehören.

Die Anwendungen aktualisieren die Benutzeroberfläche entsprechend. Ein wesentlicher Unterschied besteht darin, dass das Rendering innerhalb der Anwendungen selbst mithilfe der verknüpften Wayland-Bibliotheken erfolgt.

Die Anwendung aktualisiert entweder den Puffer, der zum Speichern des Fensters verwendet wird, oder erstellt einen neuen und verwirft den alten. Die Clientanwendung sendet dann eine Benachrichtigung an den Compositor und weist ihn an, seine Fensterzuordnung zu aktualisieren und den neuen oder aktualisierten Videopuffer zu verwenden.

Diese vereinfachte Architektur und das moderne Code-Design sorgen für Leistungsverbesserungen, wobei insbesondere die Größenänderung und das Ziehen von Fenstern reibungslos und flüssig wirken.

Waylands langsame Akzeptanz durch Anwendungen

Wayland ist das Standard-Fenstersystem in Debian 10 und neuer. Fedora 34 oder neuer, Ubuntu 18.04 oder neuer und andere Distributionen wie Arch Linux. Trotzdem führt Wayland in den meisten Fällen X11-Anwendungen aus.

Es gibt eine Kompatibilitätsschicht namens XWayland, die die Ausführung von X11-Anwendungen unter Wayland ermöglicht. Dies war erforderlich, da die meisten X11-Anwendungen nicht geändert und auf Wayland portiert wurden.

In Desktop-Umgebungen, die Wayland-Kompositoren wie GNOME bereitstellen, sind offizielle Anwendungen wie der GNOME-Texteditor und Karten, Dateien und Kalender allesamt native Wayland-Anwendungen. Aber die überwiegende Mehrheit der X11-Anwendungen sind immer noch unberührte, native X11-Anwendungen.

Die XWayland-Middleware funktioniert normalerweise einwandfrei, es kann jedoch zu Problemen mit einigen X11-Anwendungen kommen, die bildschirmbezogene Funktionen auf niedriger Ebene wie die Bildschirmaufzeichnung ausführen. Die Verwendung von Wayland mit NVIDIA kann genauso mühsam sein wie mit X11, obwohl ich mit meinem täglichen Treiber, der es mit einer NVIDIA GeForce GT 1030-GPU verwendet, keine Probleme hatte.

Einige Autoren von X11-Anwendungen hoffen wahrscheinlich, dass ihre Anwendung mit XWayland einwandfrei funktioniert, und dass sie eine Überarbeitung in Wayland-Anwendungen vermeiden können. Seien Sie nicht überrascht, wenn die Einführung und Migration zu Wayland langwierig und langsam ist und neue Anwendungen es übernehmen, die Mehrheit der bestehenden X11-Anwendungen jedoch so bleiben, wie sie sind, und ihre Hoffnungen auf XWayland setzen.

VERWANDT: Was ist neu in Ubuntu 21.04 „Hirsute Hippo“?

Verwenden Sie Wayland oder X11?

Wenn Sie eine der großen Linux-Distributionen verwenden, nutzen Sie wahrscheinlich bereits Wayland. Sie können dies überprüfen, indem Sie den folgenden Befehl ausführen.

echo $XDG_SESSION_TYPE

Auf einem System, das Wayland verwendet, lautet die Ausgabe:

Und auf einem System, auf dem das X-Window-System läuft, sehen Sie:

Selten, die XDG_SESSION_TYPE Umgebungsvariable ist nicht gesetzt. In diesem Fall können Sie stattdessen diesen Befehl verwenden:

loginctl show-session $(loginctl show-user $(whoami) -p Display --value) -p Type --value

Das Innere, verschachtelt loginctl Der Befehl verwendet die show-user Befehl zum Anzeigen der Eigenschaften des genannten Benutzers. Der whoami Befehl gibt uns der Name des aktuellen Benutzers. Der -p (Eigenschaft)-Option schränkt die Ausgabe von ein loginctl um Informationen zur Einstellung „Anzeige“ zu erhalten, und wir nutzen die --value Option, um nur den Wert zurückzugeben. Wir möchten die Zeichenfolge „Display=“ nicht in der Antwort von haben loginctl . All das gibt uns eine Sitzungs-ID.

Wir geben die Sitzungs-ID an die Außenseite weiter loginctl und verwenden Sie die show-session Befehl zum Anzeigen von Attributen der Sitzung. Wir benutzen das -p (Eigenschaft) Option, um die Ausgabe auf Informationen über den Sitzungstyp zu beschränken, und verwenden Sie die --value Option, um den Wert ohne die Bezeichnung „Type=“ anzuzeigen.

Auf einem Computer, der Wayland verwendet, sehen Sie Folgendes:

Verwenden Sie den Befehl loginctl unter Fedora Linux, um festzustellen, ob Wayland oder X11 verwendet wird

Wenn Sie das X-Window-System ausführen, sehen Sie Folgendes:

Verwenden Sie den Befehl loginctl auf Manjaro Inux, um festzustellen, ob Wayland oder X11 verwendet wird

Sollten Sie Wayland oder X11 verwenden?

Sofern Sie keine Probleme haben, können Sie auch bei dem bleiben, was Sie bereits verwenden. Wenn Sie jedoch Instabilitäten oder ruckartige Bildschirmaktualisierungen bemerken, können Sie versuchen, zu einem anderen Gerät zu wechseln, das Sie nicht verwenden.

Wenn Sie unter GNOME wechseln und das andere System ausprobieren möchten, klicken Sie auf dem Anmeldebildschirm auf Ihren Benutzernamen und dann auf das Zahnradsymbol in der unteren rechten Ecke der Anzeige.

Das Dropdown-Menü in GNOME, mit dem Sie ein Wayland- oder X11-basiertes Desktop-Erlebnis auswählen können

Ein Menü bietet Ihnen verschiedene Versionen von GNOME. Optionen, die „Xorg“ erwähnen, verwenden das X Window System und diejenigen, die Wayland nicht verwenden.

VERWANDT: So listen Sie Umgebungsvariablen unter Linux auf



source-107

Leave a Reply