- Um festzustellen, ob Ihre Sitzung X11 oder Wayland ist, kombinieren Sie Befehle wie z. B. loginctl, echo $XDG_SESSION_TYPE und Prozessinspektion.
- Xwayland fungiert als Brücke zwischen älteren X11-Anwendungen und dem Wayland-Compositor, was erklärt, warum viele Apps Schaut weiterhin "x11".
- Distributionen wie Fedora, Pop!_OS oder Manjaro bieten sowohl Xorg- als auch Wayland-Sitzungen an, und die Wahl zwischen den beiden beeinflusst die Anwendungskompatibilität, die Sicherheit und das Verhalten.
Wer Linux täglich nutzt, hat sich wahrscheinlich schon einmal gefragt, ob das eigene System X11 oder Wayland als Fensterserver verwendet . Das ist nicht nur eine Frage der Neugier: Es beeinflusst das Verhalten grafischer Anwendungen, deren Leistung, die Kompatibilität mit älteren Programmen und sogar scheinbar triviale (aber lästige) Details wie das Umschalten von Fenstern auf dem eigenen Desktop per Tastenkombination.
Viele Nutzer kennen das Problem von Pop!_OS oder Fedora: Sie öffnen Firefox, rufen die Seite `about :support` auf und sehen „x11 “, obwohl sie eigentlich in einer Wayland-Sitzung arbeiten. Programme wie xeyes erfassen den Mauszeiger in bestimmten Fenstern nicht mehr, was den Verdacht nahelegt, dass im Hintergrund etwas anders läuft. Wir erklären Ihnen in Ruhe, warum das passiert, wie die Xwayland-Kompatibilitätsschicht funktioniert und vor allem, wie Sie sicher feststellen können, ob Sie auf Ihrer bevorzugten Distribution X oder Wayland verwenden.
Was sind Xorg/X11 und Wayland und warum sollte das jemanden interessieren?
Wenn von Xorg oder X11 die Rede ist, ist das klassische Unix- und Linux- Fenstersystem gemeint , das den Desktop jahrzehntelang dominiert hat. Xorg ist eine freie Implementierung des X Window System-Protokolls Version 11 (daher X11) und hat sich zum De-facto-Standard für grafische Benutzeroberflächen (GUIs) entwickelt. Die meisten älteren Programme erwarten, dass sie einen X-Server erreichen und sich mit diesem verbinden, um Fenster darzustellen, Tastatur- und Mausereignisse zu empfangen usw.
Diese weite Verbreitung hat Xorg über Jahre hinweg zu einer nahezu unverzichtbaren Voraussetzung für Desktop-Distributionen gemacht . Daher wurde ein Großteil des Linux-Ökosystems mit Blick auf X11 entwickelt: von schlanken Fenstermanagern wie Openbox bis hin zu vollständigen Desktop-Umgebungen wie KDE Plasma oder GNOME in ihren älteren Versionen. Selbst heute noch setzen viele interne Tools einen verfügbaren X-Server voraus.
Wayland hingegen ist eine deutlich modernere Architektur , die versucht, dieses gesamte Setup zu vereinfachen. Anstatt einen riesigen Server mit jahrzehntelangen Patches und Erweiterungen zu betreiben, schlägt sie ein direkteres Protokoll zwischen dem Compositor (GNOME Shell, KWin, Sway usw.) und den Anwendungen vor. Ziel ist es, die Komplexität zu reduzieren, die Sicherheit zu verbessern (indem verhindert wird, dass eine Anwendung die Aktivitäten anderer ausspioniert) und eine sauberere Grundlage für Animationen, die Skalierung auf HiDPI-Displays und andere moderne Grafikfunktionen zu schaffen.
Obwohl Wayland schon seit einigen Jahren existiert, ist es noch nicht so weit verbreitet wie X11. Distributionen wie Fedora haben es standardmäßig in GNOME eingeführt, während Ubuntu zwischenzeitlich umgestiegen ist, dann aber wieder zu Wayland zurückgekehrt ist. Andere Systeme, wie beispielsweise viele Manjaro-Editionen oder konservativere Distributionen, priorisieren weiterhin Xorg oder unterstützen beide Optionen parallel.
Es gibt sogar sehr spezielle Distributionen wie Rebecca Black Linux, die sich fast ausschließlich der Erforschung und Präsentation der Möglichkeiten von Wayland widmen . Sie liefern einen guten Machbarkeitsnachweis, doch im täglichen Umgang mit Desktop-Systemen nutzen wir nach wie vor beide Welten parallel. Daher ist es durchaus relevant zu wissen, welche man gerade verwendet.
Warum scheint es manchmal so, als würdest du X11 verwenden, obwohl du Wayland nutzt?
Ein sehr häufiger Fall ist das Starten einer Wayland-Sitzung (z. B. GNOME unter Wayland auf Fedora oder Pop!_OS mit der spezifischen Wayland-Sitzung) und die Feststellung, dass beim Öffnen von Firefox oder beim Abrufen bestimmter technischer Informationen X11 erwähnt wird. Oder dass ein älteres grafisches Werkzeug einwandfrei funktioniert, obwohl es eigentlich nur das X-Protokoll beherrschen sollte.
Der Clou liegt in Xwayland, das als Kompatibilitätsschicht für ältere X11-Anwendungen fungiert . In GNOME Shell unter Wayland startet Xwayland automatisch beim Sitzungsbeginn. Diese Komponente fungiert gleichzeitig als X11-Server für ältere Anwendungen und als Wayland-Client für den modernen Compositor. Anders ausgedrückt: Sie übersetzt alle Anfragen von X-Anwendungen (Fenster, Ereignisse, Grafikbeschleunigung) in die von Wayland verstandene Sprache und umgekehrt.
Wenn also eine ältere Anwendung wie ein altes CAD-Programm, ein klassischer Fenstermanager oder auch Hilfsprogramme wie xeyes, xterm oder bestimmte Firefox-Versionen ausgeführt wird, geht sie davon aus, mit einem herkömmlichen X-Server zu kommunizieren. Tatsächlich verbindet sie sich jedoch mit Xwayland, welches wiederum mit dem Wayland-Compositor Ihres Desktops kommuniziert. Aus diesem Grund melden viele interne Diagnosetools immer noch „x11“: Sie sehen genau das, obwohl das System intern Wayland verwendet.
Dieser Mechanismus erklärt kuriose Phänomene, beispielsweise warum die Augen von Xeyes den Cursor in einer nativen Wayland-Anwendung nicht verfolgen , obwohl sie dies in X11-Fenstern tun. Wayland schränkt die Möglichkeiten einer Anwendung, den globalen Mauszeiger auszuspionieren, bewusst ein, während unter Xorg jeder Client problemlos sehen konnte, was auf dem Bildschirm geschah. Aus Sicherheits- und Datenschutzsicht ist dies eine erhebliche Verbesserung.
Allerdings gibt es auch Nachteile: Manche Programme nutzen sehr spezifische X11-Funktionen (beispielsweise bestimmte globale Tastenkombinationen oder tiefe Integrationen mit dem Fenstermanager), die unter Xwayland unter Umständen unvorhersehbar funktionieren. In solchen Fällen empfehlen viele Anleitungen, sich explizit bei einem vollständigen Xorg-Server anzumelden, anstatt Wayland zu verwenden – zumindest solange, bis die Anwendung native Wayland-Unterstützung bietet.
Wie Sie mit loginctl herausfinden, welchen Sitzungstyp Sie verwenden
Abgesehen von dem, was ein Browser oder ein bestimmtes Tool anzeigt, wenn Sie eine ziemlich zuverlässige Methode suchen, um dies herauszufinden Welches Protokoll wird in Ihrer grafischen Sitzung verwendet?Eine der praktischsten Optionen ist das Ziehen. loginctlDieses Hilfsprogramm ist Teil des Systemd-Ökosystems und ermöglicht unter anderem die Abfrage detaillierter Informationen über aktive Benutzersitzungen.
loginctl Dies ist der erste Befehl zum Auflisten von Sitzungen.
Die allgemeine Methode ist sehr einfach: Zuerst findet man heraus, Ihre Sitzungs-ID und dann fragst du loginctl Das zeigt Ihnen den Typ an. In einem TerminalSie könnten beispielsweise Folgendes tun:
loginctl
Dadurch erhalten Sie eine Liste der aktiven Sitzungen , etwa so:
SESSION UID USER SEAT TTY
2 1000 cr0n0s seat0 tty2
sessions listed.
Schauen Sie sich die erste Spalte an: Dort erscheint die Sitzungsnummer.
In diesem Beispiel ist die Sitzungs-ID 2. Mit dieser Information können Sie den Sitzungstyp wie folgt abfragen:
Mit diesen Informationen können Sie den Parameter „Typ“ wie folgt überprüfen:
loginctl show-session 2 -p Type Führt die Abfrage aus und gibt den Parameter zurück
Die typische Ausgabe sieht etwa so aus:
Type=x11 weist auf die Verwendung von X11 hin
Type=wayland weist auf die Verwendung von Wayland hin
So wissen Sie genau, ob Sie gerade auf einem Xorg-Server (X11) oder in einer reinen Wayland-Sitzung arbeiten . Dieser Trick ist besonders nützlich auf Desktop-Umgebungen wie GNOME oder KDE Plasma, wo man zwar den Sitzungstyp auf dem Anmeldebildschirm auswählen kann, aber leicht vergisst, welchen man zuletzt gewählt hat.
Überprüfen Sie die Umgebungsvariable XDG_SESSION_TYPE.
Eine weitere, recht direkte Methode besteht darin, die Umgebungsvariable zu betrachten. XDG_SESSION_TYPE, was viele Distributionen so konfigurieren, dass es anzeigt wenn die aktuelle Chart-Sitzung "x11" oder "wayland" istÖffnen Sie einfach ein Terminal und führen Sie folgenden Befehl aus:
Öffnen Sie einfach ein Terminal und führen Sie folgenden Befehl aus: Überprüfen Sie die Umgebungsvariable
echo $XDG_SESSION_TYPE zeigt den definierten Wert an
In vielen Fällen lautet die Antwort einfach:
x11
o:
wayland
Ein Manjaro-KDE-Nutzer berichtete beispielsweise, dass die Anwendung dieser Methode zu der Meldung „x11“ führte , was bestätigte, dass sein Desktop trotz seines Interesses an Wayland weiterhin den X-Server nutzte. Obwohl er sich über die Meldung „wayland“ gefreut hätte, gab er zu, dass er zumindest vorerst keine Zeit für die Installation und Konfiguration aller Komponenten in dieser neuen Umgebung aufwenden wollte.
Eines sollte man jedoch beachten: Nicht alle Konfigurationen setzen diese Variable. Ebenso wird der Wert entweder korrekt aktualisiert oder nicht. In manchen ungewöhnlichen Systemen, stark angepassten Sitzungen oder bei ressourcenschonenden Fenstermanagern ist der Wert möglicherweise unzuverlässig oder gar nicht definiert. Daher empfiehlt es sich, diese Methode mit anderen zu kombinieren, beispielsweise mit … loginctl oder Prozessinspektion.
Zusätzliche Prüfungen mit WAYLAND_DISPLAY-Variablen und -Prozessen
Plus XDG_SESSION_TYPEEs gibt einige Variablen und Schnelltests, die Ihnen helfen können, zu bestätigen, ob Sie Wayland oder X11 verwenden, oder zumindest Es gibt einen aktiven Wayland-Server. in Ihrer Umgebung. Eines der interessantesten ist WAYLAND_DISPLAYDies wird normalerweise festgelegt, wenn ein Wayland-Compositor ausgeführt wird.
Im Terminal können Sie Folgendes ausführen: Prüfen Sie, ob ein Wayland-Compositor vorhanden ist.
echo $WAYLAND_DISPLAY zeigt die Wayland-Buchse an
Wenn Sie sich in einer Wayland-Sitzung befinden oder einen aktiven Wayland-Komponisten haben, sehen Sie wahrscheinlich etwas Ähnliches wie:
wayland-0 Beispiel für einen aktiven Socket
oder eine ähnliche Kennung. Dies zeigt an, dass ein Wayland-Socket verfügbar ist, mit dem sich native Wayland-Anwendungen verbinden können. Ist das Ergebnis jedoch leer, befinden Sie sich höchstwahrscheinlich in einer reinen X11-Sitzung ohne Wayland-Compositor (obwohl Sie Wayland-Anwendungen möglicherweise auf eine bestimmte Weise in einem Container oder Ähnlichem ausführen, aber das ist ein anderes Thema).
Eine weitere klassische Taktik, die viele Nutzer mit Tools wie … anwenden htop, ps oder pgrepEs besteht darin, direkt nach Prozessen wie beispielsweise Xorg, Xwayland oder der Komponist Wayland selbst (zum Beispiel, gnome-shell im Wayland-Modus kwin_wayland, swayusw.). Wenn Sie sehen, dass es einen Prozess gibt Xorg Im Vollbildmodus ist Ihre primäre Sitzung normalerweise X11. Wenn Sie jedoch feststellen Xwayland Aber nicht Xorg, das ist ein ziemlich deutlicher Hinweis darauf, dass Das System läuft auf Wayland und unterhält nur aus Kompatibilitätsgründen eine X-Schicht..
Diese Art der Prozessinspektion mag etwas technischer sein, ist aber sehr anschaulich, insbesondere wenn man genau verstehen möchte, was beim Anmelden mit verschiedenen Optionen im Display-Manager (GDM, SDDM, LightDM usw.) ausgelöst wird.
Einschränkungen, Nuancen und die Bedeutung der Kombination von Methoden
Eines sollte man stets bedenken: Keine Methode ist unfehlbar. in allen Szenarien. Die Lesung von about:support In Firefox kann dies auf X11 hinweisen, selbst wenn Sie Wayland mit Xwayland verwenden. Die Variable XDG_SESSION_TYPE In stark individualisierten Umgebungen ist es möglicherweise nicht korrekt definiert. Selbst das Ergebnis von loginctl show-session Dies kann zu Verwirrung führen, wenn Sie mit Remote-Sitzungen, Containern mit eigenem grafischen Server oder ungewöhnlichen Konfigurationen arbeiten.
Deshalb ist es am sinnvollsten, mehrere Indikatoren kombinieren: Überprüfen Sie den Sitzungstyp mit loginctl, finde es heraus $XDG_SESSION_TYPEPrüfen Sie, ob ein $WAYLAND_DISPLAY aktiv, prüfen Sie Prozesse wie Xorg, Xwayland oder den entsprechenden Wayland-Compositor und, falls erforderlich, die spezifische Dokumentation für Ihre Distribution oder Desktop-Umgebung konsultieren.
Es ist außerdem hilfreich zu wissen, welche Optionen Sie im Anmeldemanager auswählen: GDM, SDDM und andere bieten üblicherweise die Wahl zwischen „Plasma (Wayland)“ und „Plasma (X11)“ oder zwischen „GNOME“ und „GNOME auf Xorg“. Sobald Sie wissen, was Sie ausgewählt haben, ist es viel einfacher, die von Variablen und Befehlen bereitgestellten Informationen zu interpretieren , wenn Sie untersuchen, was auf Ihrem System vor sich geht.
Wie Nutzer von Fedora, Pop!_OS, Manjaro KDE und anderen Distributionen bestätigen können, handelt es sich bei diesen Details nicht nur um Theorie: Sie beeinflussen das Verhalten von Remote-Desktop-Tools, Browsern, älteren Anwendungen und Tastenkombinationen . Zu verstehen, wie Xorg, Wayland und Xwayland zusammenwirken, spart Zeit, wenn etwas nicht wie erwartet funktioniert.
Wenn Sie wissen, wie man Befehle wie diese verwendet loginctl, Konsultieren $XDG_SESSION_TYPE, Rezension $WAYLAND_DISPLAY Und beobachten Sie, welche Grafikprozesse ablaufen, dann haben Sie es in der Hand. ein ziemlich klares Bild davon, welches Fenstersystem Ihr Linux-System steuert. jederzeit. Mit diesen Informationen wird es viel einfacher zu entscheiden, ob es sich lohnt, Wayland auszuprobieren, noch etwas länger bei X11 zu bleiben oder je nach den Anforderungen Ihrer anspruchsvolleren Anwendungen zu wechseln.
Leidenschaftlicher Autor über die Welt der Bytes und der Technologie im Allgemeinen. Ich liebe es, mein Wissen durch Schreiben zu teilen, und genau das werde ich in diesem Blog tun und Ihnen die interessantesten Dinge über Gadgets, Software, Hardware, technologische Trends und mehr zeigen. Mein Ziel ist es, Ihnen dabei zu helfen, sich auf einfache und unterhaltsame Weise in der digitalen Welt zurechtzufinden.
Index
- 1 Was sind Xorg/X11 und Wayland und warum sollte das jemanden interessieren?
- 2 Warum scheint es manchmal so, als würdest du X11 verwenden, obwohl du Wayland nutzt?
- 3 Wie Sie mit loginctl herausfinden, welchen Sitzungstyp Sie verwenden
- 4 Überprüfen Sie die Umgebungsvariable XDG_SESSION_TYPE.
- 5 Zusätzliche Prüfungen mit WAYLAND_DISPLAY-Variablen und -Prozessen
- 6 Einschränkungen, Nuancen und die Bedeutung der Kombination von Methoden