我正在查看 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