Сессия Wayland на Ubuntu 18.04: почему работает /usr/bin/Xwayland?

Я смотрю на сессию Wayland в Ubuntu 18.04.

Я думал, что такие вещи, как conky, не будут работать или не будут работать должным образом. Поэтому я установил conky (и его зависимости). Затем я побежал конки из терминала. Там было мерцание, и поэтому я закомментировал no_buffers = true, в ~/.config/conky/conky.conf и добавил double_buffer = true,, Это исправило мерцание, но man conky имеет:

-b | --double-buffer
       Use double buffering (eliminates "flicker"). 
       Only available with build flag BUILD_X11  
       enabled.

Так что меня озадачило и я побежал ps -aux | grep wayland

dkb@dkb:~$ ps -aux | grep wayland
gdm        750  0.0  0.1 197792  5548 tty1     Ssl+ 21:56   0:00 /usr/lib/gdm3/gdm-wayland-session gnome-session --autostart /usr/share/gdm/greeter/autostart
gdm        850  0.0  0.8 202732 35992 tty1     S+   21:56   0:00 /usr/bin/Xwayland :1024 -rootless -terminate -accessx -core -listen 4 -listen 5 -displayfd 6
dkb       1925  0.0  0.1 197792  5376 tty2     Ssl+ 22:09   0:00 /usr/lib/gdm3/gdm-wayland-session env GNOME_SHELL_SESSION_MODE=ubuntu  gnome-session --session=ubuntu
dkb       1977  0.1  1.3 263692 56052 tty2     S+   22:09   0:00 /usr/bin/Xwayland :0 -rootless -terminate -accessx -core -listen 4 -listen 5 -displayfd 6
dkb       2469  0.0  0.0  21536  1076 pts/0    S+   22:17   0:00 grep --color=auto wayland
dkb@dkb:~$ 

Это показывает, что процесс Xwayland также работает, хотя echo $XDG_SESSION_TYPE возвращается wayland,

Так что, сессия Wayland автоматически включает Xwayland?

1 ответ

Решение

Лучший ответ приходит от авторов Wayland:

X Клиенты под Wayland (XWayland)

Wayland сама по себе является законченной оконной системой, но даже если мы уходим от X, имеет смысл иметь хорошую историю обратной совместимости. С некоторыми изменениями сервер Xorg можно изменить, чтобы использовать устройства ввода wayland для ввода и пересылки либо корневого окна, либо отдельных окон верхнего уровня в качестве поверхностей wayland. На сервере по-прежнему работает тот же 2D-драйвер с тем же кодом ускорения, что и при его естественной работе. Основное отличие состоит в том, что Wayland обрабатывает представление окон вместо KMS.


Когда вы загружаетесь с Wayland, вам все равно может понадобиться доступ к приложениям на основе X: почему gksu / gksudo или запуск графического приложения с sudo не работают с Wayland?

Чтобы суммировать многие вопросы и ответы по запуску приложения X в Wayland, вам необходимо использовать:

xhost +si:localuser:root
Другие вопросы по тегам