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?


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

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

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

Poder de tuberías y filosofía unix. Agradable.
Talespin_Kit

/ yo murmura algo al respecto grep ... | awk, pero bueno, está bien.
rahmu


9

Dar la orden

ps aux | grep gnome-shell

Dará la salida

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

Si Wayland está activo.


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".


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í


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).


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 .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.