Як дізнатися, чи використовуються Wayland або X11


164

Тому я щойно встановив на своєму ноутбуці найновіший Kali Linux, який базувався на Debian 7 (старий). Тоді я все відредагував і доповнив Debian 8.

Я завжди хотів Wayland замість X11, тому встановив необхідні пакети. Потім створили мінімальну ~./config/weston.iniконфігурацію. Тепер із екрана входу в Gnome:Екран входу

Я можу завантажуватися Gnome on Waylandабо LXDE(серед інших). Попередній з дуже обмеженим успіхом, а останній (LXDE) майже ідеально, хоча панель потребує налаштування (я повинен шукати звільнений стіл).

У будь-якому випадку в LXDE графічний інтерфейс більш чуйний, ніж на старій станції і, можливо, так само швидко, коли він працює під управлінням Windows 7. Я був задоволений.

Але я хочу знати, чи це через всі оновлення бібліотеки / модулів від Debian 7 до 8 або з використанням Wayland (якщо я справді взагалі використовую Wayland). Я проскочив через htop і знайшов /usr/bin/Xorgзапущений і жоден процес, названий "wayland". То який я зараз балотую?


запустити xprop, цей інструмент буде працювати над xapplications, що працюють під емуляцією, але не wayland або gnome-shell у wayland.
Майк Местник

4
Я думаю, що я єдиний, хто помітив, що в той час як ОП заявив, що він працює на debian, скріншот, який він представив, явно fedora ...
user1404316

Відповіді:


226

Отримайте ідентифікатор сеансу для передачі, видавши:

loginctl

Тоді:

loginctl show-session <SESSION_ID> -p Type

Якщо ви хочете все це за допомогою однієї команди:

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

Використовуйте той, що відповідає вашому імені користувача.

Зверніться до: https://fedoraproject.org/wiki/How_to_debug_Wayland_problems

Отже, для мене це:

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

3
Дякую за чудову відповідь. Будь ласка, додайте, що loginctlдля перегляду сесій спочатку слід запустити ОП .
Ho1

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

підтвердив роботу над ubuntu 17.10 з gnome-сеансом ... дивно, що я отримую x11
Рей Фосс

2
Згідно Fedora 28 документів, ви також можете використовувати, echo $WAYLAND_DISPLAYякі нічого не друкують, якщо Wayland не використовується.
robsch

3
@DSПросто, що ваші посилання були помічені Можна скопіювати це:loginctl show-session $(loginctl|grep $(whoami) |awk '{print $1}') -p Type
Андреас

166

Як дізнатися, чи використовуються Wayland або X11?

на системах X11 :

$ echo $XDG_SESSION_TYPE
x11

на деякій системіlandland :

$ echo $XDG_SESSION_TYPE
wayland

28
Що це означає, якщо ця змінна не встановлена?
g.rocket

Чи є спосіб показати також версію запущених протоколів Wayland?
saitam

28

Це працює на Fedora

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

Потужність труб та філософія Unix. Приємно.
Talespin_Kit

/ мені щось нарікає grep ... | awk, але еге, це добре.
rahmu

10

Мені подобається відповідь Айюша найкраще, але я подумав, що скажу, що відповідь Андреаса можна зробити в один рядок:

loginctl show-session "$XDG_SESSION_ID" -p Type

Ви можете додатково пройти, --valueщоб скинути Type=префікс.


9

Дайте команду

ps aux | grep gnome-shell

Це дасть вихід

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

Якщо Wayland активний.


5
А що якщо waylandза замовчуванням?
anatoly techtonik

1
Мій процес "gnome-shell" не запускався з варіантом --wayland, але коли я запустив ps aux | grep wayland, я виявив, що / usr / bin / Xwayland працює.
paulie4

1
Часто у вас є два gnome-shellпроцеси: один, який використовується для gdm, і один, який використовується для сеансу користувача. Часто gnome-оболонка gdm використовує wayland, але оболонка gnome сеансу користувача використовує X11.
Маріус Гедмінас

Xwayland - це процес, який з'єднується між додатками X11 та сервером дисплея Wayland. Його присутність означає, що ви вже працюєте з Wayland - але перевірте вищезастереження, можливо, Wayland використовується лише для екрана входу.
Маріус Гедмінас

1
gnome-shellпрацює лише якщо ви використовуєте gnome як DM.
Себастьян

3

(спробуйте) Запустіть команду 'r' у меню Alt + F2. Він перезапустить середовище в Xorg (не втрачаючи windows та процеси), але в Wayland він дасть повідомлення "Перезапуск недоступний у Wayland".


1

Ні, я помітив під з назвою Wayland в htop, коли я перейшов на Wayland для хихикань. Якщо це не змінилося, це слід побачити. Оновлення: Ось сценарій із відображенням процесу Вейленда.

введіть тут опис зображення


4
Я не бачу waylandпроцесу у вашому екрані екрана; лінія, яку ви виділили, - це dbus-launchпроцес, починаючи сеанс з назвою gnome-wayland.
Стівен Кітт


0

Ви можете виконати xdpyinfoкоманду. Він дає інформацію про ваш поточний сервер X11 (і дисплей). Він не зможе, якщо у вас його немає (наприклад, у чистому режимі Wayland).


здається, працює добре на моїй waylandсесії ...
don_crissti

ІМХО, це просто означає, що ваш сеанс про Вайленд не є чистим Вейлендом.
Базиль Старинкевич

впевнений, але Q - "як дізнатися, чи використовується Wayland або xorg" для поточного сеансу ... не як знати, чи працює X11-сервер
don_crissti

0

Ну, ви також можете просто перевірити, чи програми запущені у waylandрідній формі:

cd /usr/bin
ldd $application_name | grep wayland

Крім того, щоб перевірити, які бінарні файли мають waylandпідтримку, ви можете спробувати:

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

Сказане не дуже добре, але це працює. Ви можете далі передати його у файл, а потім використовувати vimдля навігації.

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

-BПрапор означає , перш ніж і допомагає друкувати двоичное ім'я.

Ви можете перевірити це для отримання більш детальної інформації. Ця відповідь адаптувалася з цього питання .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.