Comment savoir si Wayland ou X11 est utilisé


166

Je viens donc d'installer la dernière version de Kali Linux sur mon ordinateur portable, qui était basée sur Debian 7 (oldstable). J'ai ensuite distribué le tout sous Debian 8.

J'ai toujours voulu Wayland au lieu de X11, j'ai donc installé les packages nécessaires. Puis créé une ~./config/weston.iniconfiguration minimale . Maintenant, à partir de l'écran de connexion à Gnome:Écran de connexion

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

Quoi qu’il en soit, dans LXDE, l’interface graphique est plus réactive que sur l’ancienne et peut-être aussi vite qu’elle fonctionnait sous Windows 7. J'étais ravi.

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


lancer xprop, cet outil fonctionnera sur les xapplications fonctionnant sous émulation, mais pas dans wayland ou gnome-shell sur wayland.
Mike Mestnik

4
Je suppose que je suis le seul à avoir remarqué que, si le PO a déclaré qu'il opérait sur Debian, la capture d'écran qu'il a présentée est clairement ...
user1404316 Le

Réponses:


228

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

loginctl

Ensuite:

loginctl show-session <SESSION_ID> -p Type

Si vous voulez tout cela avec une seule commande:

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

Utilisez celui qui correspond à 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

3
Merci pour la bonne réponse. S'il vous plaît ajouter que OP doit d' loginctlabord s'exécuter pour voir les sessions.
Ho1

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

a confirmé travailler sur Ubuntu 17.10 avec gnome-session ... étonnamment je reçois x11
Ray Foss

2
Selon Fedora 28 docs, vous pouvez également utiliser echo $WAYLAND_DISPLAYce qui n’imprime rien si wayland n’est pas utilisé.
Robsch

3
@ DSJustice vos backticks ont été démarqués. On peut copier ceci:loginctl show-session $(loginctl|grep $(whoami) |awk '{print $1}') -p Type
Andreas

166

Comment savoir si Wayland ou X11 est utilisé?

sur les systèmes X11 :

$ echo $XDG_SESSION_TYPE
x11

sur un système à sens unique :

$ echo $XDG_SESSION_TYPE
wayland

29
Qu'est-ce que cela signifie si cette variable n'est pas définie?
g.rocket

Est-il possible d'afficher également la version des protocoles en cours d'exécution?
dit

28

Cela fonctionne sur fedora

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

Puissance des pipes et philosophie unix. Agréable.
Talespin_Kit

/ moi marmonne quelque chose grep ... | awk, mais bon, ça va.
Rahmu


9

Donner la commande

ps aux | grep gnome-shell

Il donnera la sortie

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

Si Wayland est actif.


5
Et si waylandc'est la valeur par défaut?
anatoly techtonik

1
Mon processus "gnome-shell" ne fonctionnait pas avec l'option --wayland, mais lors de l'exécution ps aux | grep wayland, j'ai constaté que / usr / bin / Xwayland était en cours d'exécution.
Paulie4

1
Vous avez souvent deux gnome-shellprocessus: un utilisé pour gdm et un utilisé pour la session utilisateur. Le gnome-shell de gdm utilise wayland mais le gnome-shell de la session utilisateur utilise X11.
Marius Gedminas

Xwayland est un processus qui relie les applications X11 au serveur d’affichage Wayland. Sa présence implique que vous utilisiez déjà Wayland - mais vérifiez la mise en garde ci-dessus, il est possible que Wayland ne soit utilisé que pour l'écran de connexion.
Marius Gedminas

1
gnome-shellne fonctionne que si vous utilisez gnome en tant que DM.
Sebastian

3

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


1

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 un screengrab montrant le processus Wayland.

entrez la description de l'image ici


4
Je ne vois pas de waylandprocessus dans votre screengrab; la ligne que vous avez sélectionnée est un dbus-launchprocessus commençant une session appelée gnome-wayland.
Stephen Kitt


0

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


semble bien fonctionner lors de ma waylandsession ...
don_crissti

IMHO, cela signifie simplement que votre session Wayland n'est pas pur Wayland.
Basile Starynkevitch

Bien sûr, mais le Q est "comment savoir si wayland ou xorg est utilisé" pour la session en cours ... pas comment savoir s'il y a un serveur X11 en cours d'exécution
don_crissti

0

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

cd /usr/bin
ldd $application_name | grep wayland

En outre, pour vérifier quels fichiers binaires ont un waylandsupport, 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 également le vimdiriger vers un fichier, puis utiliser pour naviguer.

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

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

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.