我读到 ubuntu mate 已经支持 wayland 有一段时间了,我想尝试一下,因为据说它的安全性和性能都更好,而且代码更简洁。
uname -a
给我:Linux <hostname> 5.4.0-62-generic #70-Ubuntu SMP Tue Jan 12 12:45:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
我在东芝 R702Q Vivobook 上运行。
我搜索了如何在 ubuntu mate 上安装 wayland 的说明,但找不到。我找到了一个snap 包“MATE-on-wayland”,但我不太喜欢 snap。我还是试了一下,在登录屏幕上得到了一个选择。当我选择 wayland 选项时,显示屏会短暂闪烁,然后保持空白(背光打开)。谈论这个 snap 包的网站似乎非常计算机生成,除了“使用 sudo snap install blah 安装包”和包描述之外没有提供更多信息。
我查看了我已安装的软件包,许多libwayland-
软件包都是默认安装的(作为 ubuntu-mate-desktop 或其他东西的某些依赖项的依赖项)。
$ apt list --installed | grep --ignore-case wayland
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
kwayland-data/focal,focal,now 4:5.68.0-0ubuntu1 all [installed,automatic]
kwayland-integration/focal,now 4:5.18.4.1-0ubuntu1 amd64 [installed,automatic]
libkf5waylandclient5/focal,now 4:5.68.0-0ubuntu1 amd64 [installed,automatic]
libqt5waylandclient5-dev/focal,now 5.12.8-0ubuntu1 amd64 [installed]
libqt5waylandclient5/focal,now 5.12.8-0ubuntu1 amd64 [installed,automatic]
libqt5waylandcompositor5-dev/focal,now 5.12.8-0ubuntu1 amd64 [installed]
libqt5waylandcompositor5/focal,now 5.12.8-0ubuntu1 amd64 [installed,automatic]
libva-wayland2/focal,now 2.7.0-2 amd64 [installed,automatic]
libwayland-bin/focal,now 1.18.0-1 amd64 [installed,automatic]
libwayland-client0/focal,now 1.18.0-1 amd64 [installed,automatic]
libwayland-client0/focal,now 1.18.0-1 i386 [installed,automatic]
libwayland-cursor0/focal,now 1.18.0-1 amd64 [installed,automatic]
libwayland-cursor0/focal,now 1.18.0-1 i386 [installed,automatic]
libwayland-dev/focal,now 1.18.0-1 amd64 [installed,automatic]
libwayland-egl1/focal,now 1.18.0-1 amd64 [installed,automatic]
libwayland-egl1/focal,now 1.18.0-1 i386 [installed,automatic]
libwayland-server0/focal,now 1.18.0-1 amd64 [installed,automatic]
qtwayland5-dev-tools/focal,now 5.12.8-0ubuntu1 amd64 [installed,automatic]
qtwayland5-doc/focal,focal,now 5.12.8-0ubuntu1 all [installed,automatic]
qtwayland5/focal,now 5.12.8-0ubuntu1 amd64 [installed]
wayland-protocols/focal,focal,now 1.20-1 all [installed,automatic]
但是我在登录时无法选择它。我见过类似的问题通过重新安装软件包解决了这个问题(在评论中)libwayland-*
。我这样做了
sudo apt install --reinstall libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1 libwayland-server0
即使重新启动后,也没有给我带来明显的效果。
我当前的显示管理器是 lightdm。因此,我查找了如何使用 lightdm 启用 wayland,并找到了这一组指令。
- 验证您在 /usr/share/wayland-sessions 中有一个 Gnome 会话。
- 使用 root 权限打开您喜欢的文本编辑器并编辑 /etc/lightdm/lightdm.conf 文件并取消注释以下行:sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
/usr/share/wayland-sessions
虽然文件夹存在,但我没有任何文件或目录。
此外,我没有文件 /etc/lightdm/lightdm.conf,但存在另外 2 个 .conf 文件(一个用于打开 numlock,另一个用于禁止某些用户(nologin、nobody 等)和 shell /bin/false、/bin/nologin 等)和一个用于配置文件的空目录。
所以我很困惑。据说 ubuntu mate 附带并支持 wayland,但我却无法使用它。而且我找不到任何关于如何让它工作的资源。
我还想在本机运行一些 Wayland 合成器,而不是在 x 之上。当我想节省电量时,增加更多开销有什么意义呢 :P
PS:我知道 wayland 不是一种软件,而是一种协议。但我不知道 compositor mate 应该随附什么,因为显然每个主要发行版都在制作自己的版本,至少我读过是这样。
而且我真的不知道所有术语的含义。窗口管理器、显示管理器、合成器或客户端到哪个服务器(以及如何将客户端连接到远程服务器)。因此,
当我搜索 compositor 或 wayland 时,apt search
我会看到 mutter、weston 和 xweston 之类的东西。当我apt info mutter
得到
使用 GNOME 窗口管理器库的示例窗口管理器 Mutter 是一个 Wayland 显示服务器和 X11 窗口管理器和合成器库。它包含与窗口管理、窗口合成、焦点跟踪、工作区管理、键绑定和监视器配置等相关的功能。
这也可能是中文。
编辑:
我尝试安装 weston 软件包,它让我可以从登录屏幕中选择它。但是,从终端 ( weston
)、虚拟终端 (TTY1)weston-launch
或登录屏幕(通过下拉选择)启动它,只会得到一个非常非常简陋且无法使用的灰色“桌面”区域,只有一个用于启动终端的按钮和一个时钟,这与 mate 桌面完全不同。
编辑2:
安装 snap 包后,尝试从终端(而不是从登录屏幕)运行 mate-wayland,出现错误,提示未安装 xwayland。安装后,它有点工作了。但面板抛出了很多关于缺少引用的错误,而且很多东西都没有显示出来(包括菜单)。运行 Firefox(从一个在混乱的面板中幸存下来的快速链接)时,我看到一个窗口以高更新率(> 10/s)闪烁,文本和图像随着每次更新而移动,直到页面加载完成。有趣的是,Firefox 不记得我的 cookie(例如,我没有登录 stackexchange)或会话,尽管它弹出了我打开的选项卡列表的一些旧版本。