Wayland/Sway 桌面配置和使用小结

The summary of setup wayland/sway desktop environment after daily use

zping

swaywaylandsteampass

913 字

2025-05-09 00:18 +0000


之前已经写过几篇自己使用 Wayland/Sway 的情况。这里继续。

游戏方面,运行 Steam 应该算是另一个大课题。这里能只简单说一下, Wayland 下运行 Steam 最著名的问题就是鼠标会有迟滞感。我在加了环境变量 GDK_BACKEND=x11 SDL_VIDEODRIVER=x11 后,并不是每个游戏都能感觉到。至少 CS ,甚至全战帝国,基本没有什么影响。但是《坎星》和《全战幕府将军2》仍非常明显。《文明六》也能感觉到,但还是能玩的。

同时跑 X11Wayland 会话本身是可行的。 就目前的状态来说,如果真的需要在 Linux 下有 Steam 这类游戏需求,直接用 X11 是最省力气的方案。这其实也不是什么大问题。 Steam 由于用户基数比较大,还有人会讨论这类情况。像 suckless 这类用户数少的项目,真的想在 Wayland 下跑,就只能用 GDK_BACKEND=x11

除了崩溃以外, Wayland 输入法的弹出提示框在多窗口时,定位错误也经常发生。举一个例子就是开两个窗口,右侧窗口是进行输入,然后输入法弹出窗口在左侧。不过这个情况不是绝对的。这里只是提一下,我也没想去再云分析具体原因。

Sway 崩溃的频率其实也比较高,依 coredump 里的提示看,崩溃时执行的函数都是 constrain_popup特意查了代码,我估计和输入法的提示框越过屏幕边界有联系。但我时间有限,知道个大概就算了。项目本身当然已经有知道这个问题

我这次用是新装的机器尝试,一开始有过绿屏的情况,绿屏完全僵死,没有 coredump 。然而在我升级更新系统并且设置了 netconsole 尝试调试之后就没有再复现过。再之后我还更换过内存, 这样导致我无法定位最早的绿屏问题的原因。我有两个怀疑,一个内存硬件,另一个是 Wayland/Sway ,但只能是怀疑了。

本次还尝试了 zx2c4 的密码管理器 pass 。这里提一下这个密码管器器整合浏览器的方式。两个路径,一个是浏览器插件 browserpass ,这个没有什么好讲的,属于主流的实现方式。另一个是 pass_secret_service 。对于 pass_secret_service ,这个其实是实现了 freedesktop.org 的密钥服务接口(org.freedesktop.Secret.*)。使用这个,浏览器会自己再进行一层加密。原因也不难理解,就是类似于各个应用在这一块应当进行分离。这里有一个所有应用都可以看所有密码的问题。至少对于用户来说,因为密码和浏览器实例绑定,更换甚至升级浏览器都变得相当麻烦。可以说实践最低权限原则,特别是在密码管理中必然会带来相当的复杂度。

另一点是 Brave 下载时无法保存的问题。这个目前看就是 Wayland 下添加了 --gtk-version=4 导致的。

这样迁移到 Wayland 环境下遇到的问题这类差不多都记录了。