Hier erfahren Sie, ob Wayland oder X11 verwendet wird


164

Also habe ich gerade das neueste Kali Linux auf meinem Laptop installiert, das auf Debian 7 (oldstable) basierte. Ich habe dann das ganze auf Debian 8 aktualisiert.

Ich wollte schon immer Wayland anstelle von X11, also habe ich die erforderlichen Pakete installiert. Dann erstellte eine minimale ~./config/weston.iniKonfiguration. Jetzt im Gnome-Anmeldebildschirm:Anmeldebildschirm

Ich kann zu Gnome on Waylandoder LXDE(unter anderem) booten . Die vorherige mit sehr begrenztem Erfolg und die letztere (LXDE) fast perfekt, obwohl das Panel eingerichtet werden muss (ich muss Freedesktop nachschlagen).

Wie auch immer, in LXDE ist die GUI reaktionsschneller als auf dem Oldstable und möglicherweise genauso schnell, als Windows 7 ausgeführt wurde. Ich war zufrieden.

Aber ich möchte wissen, ob dies an all den Bibliotheks- / Modul-Upgrades von Debian 7 auf 8 oder an der Verwendung von Wayland liegt (wenn ich Wayland überhaupt wirklich verwende). Ich /usr/bin/Xorgüberflog htop und fand einen laufenden und keinen Prozess namens "wayland". Welches laufe ich gerade?


starte xprop, dieses tool funktioniert auf xapplikationen die unter emulation laufen aber nicht wayland oder gnome-shell on wayland.
Mike Mestnik

4
Ich denke, ich bin der einzige, der bemerkt, dass der Screenshot, den er vorgestellt hat, während das OP sagte, dass er
Debian ausführt,

Antworten:


226

Beziehen Sie die zu übergebende Sitzungs-ID, indem Sie Folgendes eingeben:

loginctl

Dann:

loginctl show-session <SESSION_ID> -p Type

Wenn Sie dies alles mit einem einzigen Befehl wollen:

loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'

Verwenden Sie den Namen, der Ihrem Benutzernamen entspricht.

Siehe: https://fedoraproject.org/wiki/How_to_debug_Wayland_problems

Für mich ist es also:

$ loginctl show-session 2 -p Type                                                  
Type=wayland

3
Danke für die tolle Antwort. Bitte fügen Sie hinzu, dass OP loginctlzuerst ausgeführt werden soll, um die Sitzungen anzuzeigen.
Ho1

5
loginctl show-session `loginctl|grep <YOUR_USER_NAME>|awk '{print $1}'` -p Type
Solstice

bestätigte die Arbeit an Ubuntu 17.10 mit Gnome-Sitzung ... überraschenderweise bekomme ich x11
Ray Foss

2
Laut Fedora 28-Dokumentation können Sie auch verwenden, echo $WAYLAND_DISPLAYwas nichts druckt, wenn wayland nicht verwendet wird.
Robsch

3
@DSJustice Ihre Backticks wurden abgeschrieben. Man kann dies kopieren:loginctl show-session $(loginctl|grep $(whoami) |awk '{print $1}') -p Type
Andreas

166

Woher wissen Sie, ob Wayland oder X11 verwendet wird?

auf X11-Systemen :

$ echo $XDG_SESSION_TYPE
x11

auf einem Wayland-System :

$ echo $XDG_SESSION_TYPE
wayland

28
Was bedeutet es, wenn diese Variable nicht gesetzt ist?
G. Rocket

Gibt es eine Möglichkeit, auch die Version der laufenden Wayland-Protokolle anzuzeigen?
Saitam

28

Dies funktioniert auf Fedora

loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type

Pipe-Power und Unix-Philosophie. Nett.
Talespin_Kit

Ich murmele etwas über grep ... | awk, aber hey, das ist in Ordnung.
Rahmu

10

Ich mag Ayushs Antwort am liebsten, aber ich dachte, ich würde sagen, dass Andreas 'Antwort in einer Zeile erfolgen kann:

loginctl show-session "$XDG_SESSION_ID" -p Type

Sie können zusätzlich übergeben --value, um das Type=Präfix zu löschen.


9

Gib den Befehl

ps aux | grep gnome-shell

Es wird die Ausgabe geben

/usr/bin/gnome-shell --wayland --display-server

Wenn Wayland aktiv ist.


5
Und was ist, wenn waylandder Standard ist?
anatoly techtonik

1
Mein "Gnome-Shell" -Prozess lief nicht mit der Option --wayland, aber als ich lief ps aux | grep wayland, stellte ich fest, dass / usr / bin / Xwayland lief.
Paulie4

1
Oft haben Sie zwei gnome-shellProzesse: einen für GDM und einen für die Benutzersitzung. Häufig verwendet die Gnome-Shell von gdm Wayland, während die Gnome-Shell der Benutzersitzung X11 verwendet.
Marius Gedminas

Xwayland ist ein Prozess, der die Verbindung zwischen X11-Anwendungen und dem Wayland-Anzeigeserver herstellt. Ihre Anwesenheit impliziert, dass Sie Wayland bereits ausführen - aber überprüfen Sie die obigen Einschränkungen, es ist möglich, dass Wayland nur für den Anmeldebildschirm verwendet wird.
Marius Gedminas

1
gnome-shellfunktioniert nur wenn du gnome als dm verwendest.
Sebastian

3

Führen Sie den Befehl 'r' im Menü Alt + F2 aus. Die Umgebung in Xorg wird neu gestartet (ohne dass Fenster und Prozesse verloren gehen). In Wayland wird jedoch die Meldung "Neustart ist in Wayland nicht verfügbar" angezeigt.


1

Nein, ich habe eine PID namens Wayland in htop bemerkt, als ich wegen Kicherns zu Wayland gewechselt bin. Es sei denn, es ist geändert, das ist, was man sehen sollte. Update: Hier ist ein Screenshot, der den Wayland-Prozess zeigt.

Bildbeschreibung hier eingeben


4
Ich sehe keinen waylandProzess in Ihrem Screengrab. Die markierte Zeile ist ein dbus-launchProzess, der eine Sitzung mit dem Namen startet gnome-wayland.
Stephen Kitt


0

Sie könnten den xdpyinfoBefehl ausführen . Es gibt Informationen über Ihren aktuellen X11-Server (und dessen Anzeige). Es würde scheitern, wenn Sie keine haben (z. B. in einer reinen Wayland-Umgebung).


scheint auf meiner waylandSitzung gut zu funktionieren ...
don_crissti

IMHO, das bedeutet nur , dass Ihre wayland Sitzung ist nicht rein Wayland.
Basile Starynkevitch

sicher, aber das Q ist "wie man weiß, ob wayland oder xorg verwendet wird" für die aktuelle Sitzung ... nicht wie man weiß, ob ein X11-Server läuft
don_crissti

0

Sie können auch einfach überprüfen, ob die Anwendungen in ihrer waylandursprünglichen Form ausgeführt werden:

cd /usr/bin
ldd $application_name | grep wayland

waylandUm zu überprüfen, welche Binärdateien Unterstützung bieten, können Sie Folgendes versuchen:

cd /usr/bin
find . | xargs ldd | grep wayland -B 55

Das obige ist nicht wirklich sehr sauber, aber es funktioniert. Sie können es weiter in eine Datei leiten und dann vimzum Navigieren verwenden.

cd /usr/bin
find . | xargs ldd | grep wayland -B 55 >> candidates
vim candidates
# Use vi movement

Das -BFlag steht für vor und hilft beim Drucken des Binärnamens.

Sie können dies für weitere Details überprüfen . Diese Antwort wurde aus dieser Frage übernommen .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.