web-dev-qa-db-fra.com

Comment savoir si Wayland ou X11 est utilisé

Je viens donc d'installer le dernier Kali Linux sur mon ordinateur portable qui était basé sur Debian 7 (oldstable). J'ai ensuite mis à niveau le tout vers Debian 8.

J'ai toujours voulu Wayland au lieu de X11, j'ai donc installé les packages nécessaires. Ensuite, créé un minimum ~./config/weston.ini configuration. Maintenant, depuis l'écran de connexion de Gnome: Login Screen

Je peux démarrer sur Gnome on Wayland ou LXDE (entre autres). Le précédent avec un succès très limité et le dernier (LXDE) presque parfaitement, bien que le panneau doive être configuré (je dois rechercher freedesktop).

Quoi qu'il en soit, dans LXDE, l'interface graphique est plus réactive qu'elle ne l'était sur l'ancienne version et peut-être aussi rapide lorsqu'elle exécutait Windows 7. J'étais content.

Mais je veux savoir si c'est à cause de toutes les mises à niveau de la bibliothèque/module de Debian 7 à 8 ou de l'utilisation de Wayland (si j'utilise vraiment Wayland). J'ai parcouru htop et trouvé un /usr/bin/Xorg en cours d'exécution et aucun processus nommé "wayland". Alors lequel suis-je actuellement?

196
Dehbop

Obtenez l'ID de session à transmettre en émettant:

loginctl

Alors:

loginctl show-session <SESSION_ID> -p Type

Si vous voulez tout cela sur une seule commande:

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

Utilisez celui correspondant à votre nom d'utilisateur.

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

Donc, pour moi, c'est:

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

Comment savoir si Wayland ou X11 est utilisé?

sur les systèmes X11 :

$ echo $XDG_SESSION_TYPE
x11

sur un système de wayland :

$ echo $XDG_SESSION_TYPE
wayland

edit: Cela ne semble pas fonctionner dans certains cas. Voir les commentaires et utiliser la réponse d'Alex à la place

200
Ayush

Cela fonctionne sur Fedora

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

J'aime la réponse d'Ayush le meilleur, mais pensais que je dirais que la réponse d'Andreas peut être fait en une seule ligne:

loginctl show-session "$XDG_SESSION_ID" -p Type

Vous pouvez également transmettre --value pour supprimer le Type= préfixe.

15
Alex Robbins

Donnez la commande

ps aux | grep gnome-Shell

Il donnera la sortie

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

Si Wayland est actif.

8
rksomayaji

(essayez de) Exécutez la commande "r" dans le menu Alt + F2. Il redémarrera l'environnement dans Xorg (sans perdre les fenêtres et les processus) mais dans wayland il donnera le message "Le redémarrage n'est pas disponible dans Wayland".

2
owen

La chose la plus simple à faire est de vérifier si WAYLAND_DISPLAY la variable est définie ou non.

1
DejanLekic

si vous voulez un indice visuel, j'ai écrit une simple extension GNOME Shell qui montre une icône qui vous indique si vous utilisez Wayland ou Xorg

http://www.fepede.net/blog/2017/04/gnome_Shell_extension_xorwayland/

1
Federico Pedemonte

Non, j'ai remarqué un pid appelé Wayland dans htop, quand je suis passé à Wayland pour rire. À moins que cela ne change, c'est ce que l'on devrait voir. Mise à jour: Voici une capture d'écran montrant le processus Wayland.

enter image description here

1
SD Allen

Vous pouvez exécuter la commande xdpyinfo. Il donne des informations sur votre serveur X11 actuel (et son affichage). Cela échouerait si vous n'en avez pas (par exemple dans un environnement Wayland pur).

0

Eh bien, vous pouvez également vérifier si les applications s'exécutent sous leur forme native wayland:

cd /usr/bin
ldd $application_name | grep wayland

De plus, pour vérifier quels binaires ont wayland support, vous pouvez essayer:

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

Ce qui précède n'est pas vraiment très propre mais cela fonctionne. Vous pouvez le rediriger vers un fichier, puis utiliser vim pour naviguer.

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

Le -B flag signifie avant et aide à imprimer le nom binaire.

Vous pouvez vérifiez ceci pour plus de détails. Cette réponse adaptée de cette question .

0
HaoZeke