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?

Dehbop
la source
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
Andreas
la source
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
Ayush
la source
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
anti-bouchon
la source
Puissance des pipes et philosophie unix. Agréable.
Talespin_Kit
/ moi marmonne quelque chose grep ... | awk, mais bon, ça va.
Rahmu
10

J'aime bien la réponse d'Ayush , mais j'ai pensé que la réponse d'Andreas pouvait se faire en une seule ligne:

loginctl show-session "$XDG_SESSION_ID" -p Type

Vous pouvez également passer --valueà supprimer le Type=préfixe.

Alex Robbins
la source
9

Donner la commande

ps aux | grep gnome-shell

Il donnera la sortie

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

Si Wayland est actif.

rksomayaji
la source
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".

Owen
la source
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

SD Allen
la source
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).

Basile Starynkevitch
la source
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 .

HaoZeke
la source