Linux Mint多年来眼看着Linux桌面领域的其他项目纷纷转向Wayland,而Cinnamon却一直守着X11没动。有一段时间,这种谨慎是合理的。但渐渐地,这与其说是耐心,不如说是一份越积越长的、迟早得干的活。Mint终于熬到了这一步:Cinnamon对Wayland的支持已经足够接近X11,可以摘掉实验性的标签了,但更重要的决定是接下来会发生什么:在项目团队摸清它在自己机器之外到底扛不扛得住之前,不会硬把用户推进新会话。

Mint一直等到Wayland不再是个苦差事

Mint一直等到Wayland不再是个苦差事

Cinnamon慢慢打磨,修好了用户真正能感知到的那些地方

Cinnamon慢慢打磨,修好了用户真正能感知到的那些地方

从技术上讲,Cinnamon对Wayland的支持多年前就已出现,但能够登录一个会话并不等同于能够信任它。我试过太多实验性的Linux桌面功能,太清楚这种差别有多快就会暴露出来。一个会话能启动、能显示面板、能打开终端,可你一锁屏、一在显示器之间拖窗口,或者一跑需要提权的程序,它照样崩。到那时候,“实验性”这词就不再是谨慎的意思了,而更像是一个你早该当真的警告。

Mint的开发者把精力花在了那些截不了惊艳截图、却直接决定用户还愿不愿意继续用这个会话的地方。最近做的工作包括窗口大小和位置、防止焦点被抢、面板小程序菜单、多显示器、KVM切换器、HiDPI渲染、硬件加速,以及一长串Cinnamon和Xwayland崩溃问题。需要管理员权限的程序现在能直接以原生Wayland客户端跑,不用再被硬塞进Xwayland。这种清理工作,只有没做的时候用户才会注意到——而且往往是在某个简单操作莫名其妙出问题之后。

锁屏是更大的麻烦之一,因为Cinnamon现有的屏幕保护程序依赖于X11提供的行为。在Wayland下,一个独立的GTK程序没法光靠把自己盖在所有东西上面,就以为桌面安全了。Mint不得不把这一职责移入Cinnamon的合成器(compositor)中,并构建一个在两种显示系统下都能工作的锁屏。这活儿确实不光鲜,但这恰恰是一个项目在跟普通用户说“新会话可以用了”之前该干完的事。

保留 X11 可用,是对人们使用 Linux 方式的尊重

保留 X11 可用,是对人们使用 Linux 方式的尊重

一个有官方支持的回退方案,会改变整个桌面迁移体验

一个有官方支持的回退方案,会改变整个桌面迁移体验

打开网易新闻 查看精彩图片

Linux Mint 的下一个版本将同时支持 X11 和 Wayland,但 Wayland 不会马上变成默认。Linux Mint 项目负责人 Clement Lefebvre 表示,团队希望至少经历一个完整版本、收集大约一年的反馈,才会去考虑这个改变。都这么多年了,这听起来可能过于谨慎,但 Mint 的用户选择这个发行版,并不是因为它爱让他们每半年就重新学一遍怎么用桌面。他们选择它,是因为它通常会等到一项变更有用、不折腾、也不太可能毁掉你一个下午的时候才采用。

下一个 Linux Mint 版本会把 Cinnamon 的 Wayland 会话作为完全支持的功能来对待,但 X11 仍将是默认选项,同时开发者会收集大约一年的真实使用反馈。用户可以放心试 Wayland,万一某个应用、外设或工作流程还有问题,也随时能退回 X11。

很多 Linux Mint 用户用的还是较老的硬件。还有些人依赖远程访问工具、特殊外设、自动化工具、图形应用,或者一些在 Wayland 下表现仍然不一样的软件。他们中的很多人就算想解释,也说不清 X11 和 Wayland 到底有什么实际区别——而且他们本来也不需要去解释。他们只知道电脑昨天还好好的,更新完也应该照样能用。让 Wayland 完全受支持但不强制使用,就等于给这些用户留了尝试的余地,而不会让一次测试变成掉坑。

保留 X11 也让故障排查更有章可循。当 Wayland 下出现问题,而重新登录 X11 后一切正常,一对比就能立刻把问题范围缩小。没有这个回退选项,用户就只能猜测故障究竟出在 Cinnamon、应用程序、Xwayland、门户(portal)、图形驱动,还是这五者之间互相影响导致的。我太多次陷入这种调试的死胡同,深知“在另一个会话里能正常工作”是有价值的信息,而不是在抗拒进步。

GNOME 有充分理由更大力地推行 Wayland

GNOME 有充分理由更大力地推行 Wayland

旧的兼容层可能无限期地阻碍必要的平台开发

旧的兼容层可能无限期地阻碍必要的平台开发

GNOME 的态度要强硬得多,尤其是 GNOME 49 默认关闭了其专用的 X11 会话。仍然依赖 X11 的应用程序可以继续通过 Xwayland 运行,但桌面本身显然正在向前推进。从开发的角度看,这么做的好处显而易见。维护两种完整的会话类型意味着在 GNOME Shell、Mutter、GDM 及其周边组件上什么事都得做两遍。随着积极测试旧路径的开发者越来越少,这种负担越来越说不过去。

放弃 X11 也有切实的技术原因。它是为不同的计算环境而构建的,应用程序之间可以广泛访问彼此,这带来了安全问题,而现代桌面不该一直容忍这些问题。Wayland 限制了应用程序能看到和控制的内容,然后把屏幕捕获和输入处理等敏感操作交给定义好的接口来处理。这些限制造成了 Wayland 一些最令人烦恼的兼容性问题。尽管如此,应用程序可以检查或操纵桌面上几乎任何东西的旧模式,从来都不是长久之计。

硬性的截止日期也能倒逼软件跟上进度。只要发行版承诺X11会话将始终可用,一些开发者就没什么动力去优先搞门户接口、原生Wayland支持或更新的屏幕共享方案。砍掉旧会话能把测试集中起来,也能更快把被忽视的问题暴露出来。GNOME在这一点上并没有错。到了某个时候,永远拖着不完成过渡,本身就是一个决定,而且通常不是什么好决定。

Mint 证明:进步不一定非要堵死退路

Mint 证明:进步不一定非要堵死退路

给用户选择,既能让开发者拿到反馈,又不惩罚谨慎的桌面用户

给用户选择,既能让开发者拿到反馈,又不惩罚谨慎的桌面用户

打开网易新闻 查看精彩图片

问题在于,GNOME 看重的东西,并不自动等于每个发行版、每个坐在 Linux 桌面前的用户所看重的东西。一个项目可能合理地希望代码更简洁、维护路径更少,但用户主要关心的是数位板、远程桌面工具、无障碍辅助工具、游戏或工作应用是否仍能正常使用。如果清理的结果是工作流跑不通了,那架构上的整理很难让人领情。跟人说旧系统该淘汰了,并不会让缺失的功能变得不缺。

Mint 这种慢一点的做法,其实仍然在给 Wayland 施压,因为这个会话正在从实验阶段走向正式支持。用户可以报问题,而且能指望真有人在看;开发者可以更有信心地针对它进行开发;项目也能从自己测试范围之外的硬件和工作流里收集反馈。关键区别在于:在那些遗留问题被找出来的过程中,用户不会被卡在那儿。他们可以重新登回 X11,把手头的活干完,等下一轮修复后再试 Wayland。

这也为 Mint 日后将 Wayland 设为默认选项提供了更坚实的基础。如果该项目在一个完整版本中同时支持两种会话,并且 Wayland 在用户实际拥有的硬件上被证明是可靠的,那么最终的切换就不会像是在猜测——仅仅因为 Linux 桌面其他部分已经这么做了。它背后有缺陷报告、已修复的回归问题和数月的日常使用撑着。毫无疑问,Mint 来得更晚,但它过渡的方式,也不太会把谨慎的用户变成不情愿的 beta 测试者。

这是 Linux 用户应得的 Wayland 过渡

这是 Linux 用户应得的 Wayland 过渡

Linux Mint 并没有拒绝 Wayland,它也不能再一直把这个协议当作 Cinnamon 迟早会处理的事。该项目现在已经处理了许多枯燥、困难的环节,正是这些环节,把“能拿出来演示的会话”和“能放心信赖的会话”区分开来。它正准备将 Wayland 作为桌面的正常组成部分来支持,同时为仍然需要的人保留 X11。这么做可能不像直接砍掉旧选项那样让人觉得势头很猛,但要想弄清楚新选项到底准备好没有,这是好得多的方式。

多年来,Wayland 过渡往往让人觉得,用户还没怎么说话,事情就已经定好了。相比之下,Mint 的做法感觉是慢了些,但也让人觉得被尊重得多。

Wayland 在某个时候可能会成为 Cinnamon 的默认选项,而这也是桌面环境需要发展的方向。Mint 做得更明智的地方在于,它拒绝把移除 X11 这件事本身当成进步的证明。用户有两个受支持的会话可选,开发者获得更好的反馈,项目也争取到时间去修复那些等成千上万人每天开始用这个东西之后才会暴露出来的问题。过去这些年的 Wayland 过渡,往往是用户还没怎么发声就已经定好了的,相比之下,Mint 这种做法感觉是慢了些,但也让人觉得尊重得多。