Cómo saber si se está utilizando Wayland o X11

166

Así que acabo de instalar el último Kali Linux en mi computadora portátil que estaba basado en Debian 7 (oldstable). Luego lo actualicé todo a Debian 8.

Siempre quise Wayland en lugar de X11, así que instalé los paquetes necesarios. Luego creó una ~./config/weston.iniconfiguración mínima . Ahora, desde la pantalla de inicio de sesión de Gnome:Pantalla de ingreso al sistema

Puedo arrancar Gnome on Waylando LXDE(entre otros). El anterior con un éxito muy limitado y el último (LXDE) casi a la perfección, aunque el panel debe configurarse (tengo que buscar el escritorio libre).

De todos modos, en LXDE, la GUI es más receptiva que en el establo anterior y posiblemente tan rápido cuando ejecutaba Windows 7. Estaba satisfecho.

Pero quiero saber si esto se debe a todas las actualizaciones de la biblioteca / módulo de Debian 7 a 8 o al uso de Wayland (si realmente estoy usando Wayland). Hojeé htop y encontré un /usr/bin/Xorgproceso en ejecución y no llamado "wayland". Entonces, ¿cuál estoy ejecutando actualmente?

Dehbop
fuente
ejecute xprop, esta herramienta funcionará en aplicaciones x que se ejecutan bajo emulación pero no en wayland o gnome-shell en wayland.
Mike Mestnik
44
Creo que soy el único en notar que mientras que el PO dijo que estaba operando en debian, la captura de pantalla que presenta es claramente fedora ...
user1404316

Respuestas:

228

Obtenga la ID de sesión para pasar emitiendo:

loginctl

Entonces:

loginctl show-session <SESSION_ID> -p Type

Si quieres todo esto en un solo comando:

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

Use el que corresponda a su nombre de usuario.

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

Entonces, para mí es:

$ loginctl show-session 2 -p Type                                                  
Type=wayland
Andreas
fuente
3
Gracias por la gran respuesta. Agregue que OP debe ejecutarse loginctlprimero para ver las sesiones.
Ho1
55
loginctl show-session `loginctl|grep <YOUR_USER_NAME>|awk '{print $1}'` -p Type
solSTiCe
confirmado trabajando en ubuntu 17.10 con gnome-session ... sorprendentemente obtengo x11
Ray Foss
2
De acuerdo con los documentos de Fedora 28 , también puede usar los echo $WAYLAND_DISPLAYcuales no imprimen nada si no se usa wayland.
robsch
3
@DSJustice sus backticks han sido rebajados. Uno puede copiar esto:loginctl show-session $(loginctl|grep $(whoami) |awk '{print $1}') -p Type
Andreas
166

¿Cómo saber si se está utilizando Wayland o X11?

en sistemas X11 :

$ echo $XDG_SESSION_TYPE
x11

en algún sistema wayland :

$ echo $XDG_SESSION_TYPE
wayland
Ayush
fuente
29
¿Qué significa si esta variable no está establecida?
g.rocket
¿Hay alguna manera de mostrar también la versión de los protocolos de wayland en ejecución?
saitam
28

Esto funciona en fedora

loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type
antismap
fuente
Poder de tuberías y filosofía unix. Agradable.
Talespin_Kit
/ yo murmura algo al respecto grep ... | awk, pero bueno, está bien.
rahmu
10

Me gusta la respuesta de Ayush lo mejor, pero pensé que diría que la respuesta de Andreas se puede hacer en una línea:

loginctl show-session "$XDG_SESSION_ID" -p Type

También puede pasar --valuepara soltar el Type=prefijo.

Alex Robbins
fuente
9

Dar la orden

ps aux | grep gnome-shell

Dará la salida

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

Si Wayland está activo.

rksomayaji
fuente
55
¿Y qué waylandpasa si es el predeterminado?
anatoly techtonik
1
Mi proceso "gnome-shell" no se estaba ejecutando con la opción --wayland, pero cuando ejecuté ps aux | grep wayland, descubrí que / usr / bin / Xwayland se estaba ejecutando.
paulie4
1
A menudo tiene dos gnome-shellprocesos: uno utilizado para gdm y otro utilizado para la sesión del usuario. A menudo, gnome-shell de gdm usa wayland, pero gnome-shell de la sesión de usuario usa X11.
Marius Gedminas
Xwayland es un proceso que une las aplicaciones X11 y el servidor de visualización Wayland. Su presencia implica que ya está ejecutando Wayland, pero verifique la advertencia anterior, es posible que Wayland solo se use para la pantalla de inicio de sesión.
Marius Gedminas el
1
gnome-shellsolo funciona si estás usando gnome como DM.
Sebastian
3

(intente) Ejecute el comando 'r' en el menú Alt + F2. Reiniciará el entorno en Xorg (sin perder ventanas y procesos) pero en wayland mostrará el mensaje "Reiniciar no está disponible en Wayland".

Owen
fuente
1

No, noté un pid llamado Wayland en htop, cuando me cambié a Wayland por risas. A menos que haya cambiado, eso es lo que uno debería ver. Actualización: Aquí hay una captura de pantalla que muestra el proceso de Wayland.

ingrese la descripción de la imagen aquí

SD Allen
fuente
44
No veo un waylandproceso en tu captura de pantalla; la línea que ha resaltado es un dbus-launchproceso, iniciando una sesión llamada gnome-wayland.
Stephen Kitt
0

Podrías ejecutar el xdpyinfocomando. Proporciona información sobre su servidor X11 actual (y pantalla). Fallaría si no tiene uno (por ejemplo, en un entorno de Wayland puro).

Basile Starynkevitch
fuente
parece estar funcionando bien en mi waylandsesión ...
don_crissti
En mi humilde opinión, eso solo significa que su sesión de wayland no es puramente Wayland.
Basile Starynkevitch
seguro, pero la Q es "cómo saber si se usa wayland o xorg" para la sesión actual ... no cómo saber si hay un servidor X11 ejecutándose
don_crissti
0

Bueno, también podría verificar si las aplicaciones se ejecutan en su waylandforma nativa:

cd /usr/bin
ldd $application_name | grep wayland

Además, para comprobar qué archivos binarios tienen waylandsoporte, puede probar:

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

Lo anterior no es realmente muy limpio pero funciona. Puede canalizarlo más a un archivo y luego usarlo vimpara navegar.

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

La -Bbandera significa antes y ayuda a imprimir el nombre binario.

Puede verificar esto para más detalles. Esta respuesta se adaptó de esta pregunta .

Haozeke
fuente