Ubuntu 18.04 上的 Wayland 会话:为什么 /usr/bin/Xwayland 正在运行?

Ubuntu 18.04 上的 Wayland 会话:为什么 /usr/bin/Xwayland 正在运行?

我正在查看 Ubuntu 18.04 中的 Wayland 会话。

我以为像 conky 这样的东西无法运行或无法正常运行。所以我安装了 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:~$ 

echo $XDG_SESSION_TYPE这表明,即使返回,Xwayland 进程也在运行wayland

那么 Wayland 会话是否自动包含 Xwayland?

答案1

最好的答案来自 Wayland作者:

Wayland 下的 X 客户端 (XWayland)

Wayland 本身就是一个完整的窗口系统,但即便如此,如果我们要从 X 迁移,那么拥有良好的向后兼容性也是有意义的。只需进行一些更改,就可以修改 Xorg 服务器以使用 Wayland 输入设备进行输入,并将根窗口或单个顶层窗口转发为 Wayland 表面。服务器仍然运行相同的 2D 驱动程序和相同的加速代码,就像它在本机运行时一样。主要区别在于 Wayland 处理窗口的呈现,而不是 KMS。

韋爾蘭德


当您使用 Wayland 启动时,您可能仍需要访问基于 X 的应用程序:为什么 gksu/gksudo 或使用 sudo 启动图形应用程序不能与 Wayland 一起使用?

总结一下在 Wayland 中运行 X 应用程序的许多问答,您需要使用:

xhost +si:localuser:root

相关内容