在抛弃 Xorg 之前，请三思。Wayland 会毁掉一切！
LCTT 译注：之前翻译发布的《Wayland 真的毁掉一切了吗？》引来了很多讨论，为了使讨论更全面，我也将该文所反驳的原文也翻译过来，供大家参考。
Wayland
58.47.153.40
虽然列出了那么多“影响了”，但实际上绝大部分都是很具体的《兼容性问题》(都可以在句子里加上“部分”两个字)，都是会随着wayland的开发而慢慢解决的；完全功能缺失且未来也会缺失的倒是很少。<br />
所以个人总结起来，这些看法还是对开发现状《兼容性》的抱怨。<br />
<br />
假如Xorg不是一个年久失修的、可任人摆布的不安全的显示服务，我就不会担忧它作为Linux桌面的基石有多么不可靠；即便不作明确的阴谋论，毕竟大环境上看开源在走向前台，如果开源世界依然不换掉或修缮这腐朽的大后门，就是等同于开源技术的自我负面宣传。
来自湖南益阳的 Firefox 115.0|GNU/Linux 用户
2023-12-31T17:48:31.000
58.47.153.40
既然目前可用性太差，就等等。<br />
《前景可期，但反对强推》，反wayland的呼声的核心，应该是这个，不偏不倚才对。
来自湖南益阳的 Firefox 115.0|GNU/Linux 用户
2023-12-31T17:51:54.000
112.42.17.162
Xorg 当然年久失修，因为 freedesktop （i.e. Redhat, i.e. IBM) 有意抛弃了它，强推所谓更安全（同时也更无法使用的）Wayland。Xorg 不是没有来自 BSD 的维护者，FreeBSD 还在给 consolekit 打补丁（这样就可以在没有 systemd 的情况下启动 X server，而 systemd 是 Pottering/RedHat/IBM 制造出来的另一个臃肿怪物和巨大烂摊子），OpenBSD 搞出来另一套 non-root X 的方案。如果 IBM 能把它的 EEE 美梦——一个 UNIX = GNU/glibc/systemd/Linux 的 brave new world——放到一边，认真维护一下 Xorg 和 consolekit，以它的体量，这很难做
来自112.42.17.162的 Firefox 121.0|GNU/Linux 用户
2023-12-31T18:22:40.000
112.42.17.162
评论字数有限，接着讲<br />
<br />
退一步讲，就算 Xorg 已经不可拯救，Wayland 也远远谈不上是那个救世主。除了老生常谈的兼容性问题（FreeBSD 上用 Wayland 是靠一些兼容层魔法，NetBSD 为了用上 Wayland 做了一些工作，但是提交上去的 patch 上游也是爱搭不理）Wayland 的很多设计从一开始就有问题，而且也不是所谓的 “随着时间推移都会好起来的” 的那种。
来自112.42.17.162的 Firefox 121.0|GNU/Linux 用户
2023-12-31T18:23:43.000
112.42.17.162
1. 合成器大包大揽干了太多的活。Wayland 合成器 = X server + compositor + window manager。这导致许多在 Xorg 窗口管理器开发中不是问题的事情在 wayland 合成器开发中都成了问题，其中最臭名昭著的应该就是输入法问题（对我们中文用户来说尤甚）。放在 Xorg 时代输入法不是 wm 该管的活，因为 X server 已经把 XIM 处理好了，但是开发 wayland 合成器就得也把输入法也搞定。更糟糕的是这对于应用程序来说也是如此：如果你不用 gtk/qt 这种 toolkit 开发 wayland native 的图形应用，你就得自己写输入法实现。这真的正常吗？
来自112.42.17.162的 Firefox 121.0|GNU/Linux 用户
2023-12-31T18:24:30.000
112.42.17.162
2. 协议有意无意留下了大量的空白给具体实现。这在客观上制造了大量的兼容性问题。依旧拿我们刚刚提到的输入法问题做例子。wayland 下的输入法实现法案千奇百怪，gnome mutt，kde，wlroots 和 weston 用得都有些不同，到了应用程序层面就更是五花八门了，像 Chrome 系浏览器在 wayland 下输入法无法正常使用就是这个造成的。而这不光光是输入法，录屏，截图，xdg-portal 都是各有各的实现。当然了，Gnome 和 KDE 这两个背靠大公司的桌面都是把自己的各种桌面法案整得好好的（事实上也不是），不客气地讲，协议中留下的各种空白就是给 IBM
来自112.42.17.162的 Firefox 121.0|GNU/Linux 用户
2023-12-31T18:25:05.000
112.42.17.162
留给 IBM 做各种技术壁垒的（EEE 策略中的 Extend）。<br />
<br />
顺带一提，Wayland 也有 10 多年历史了，wayland 支持者都在说 wayland 未来可期。请问我还要等几个十年来让 wayland 像 Xorg 一样功能繁多且正常工作？一句凯恩斯的话送给我和大家：长远来看，我们都死了！
来自112.42.17.162的 Firefox 121.0|GNU/Linux 用户
2023-12-31T18:26:02.000
113.200.174.13
那悲观来说，Linux 也死了得了。<br />
说句气话，Linux 桌面环境都是放屁。就现在几大阵营再他妈打下去谁都别想活。
来自陕西榆林的 Firefox 121.0|Windows 10 用户
2023-12-31T21:27:54.000
113.200.174.13
接着刚刚的气话，最好的方式当然是另起炉灶，独立于大公司，靠用户群自己搞一个真正现代的协议。<br />
但是恋旧的用户群体并不会站出来去做这件事情。他们只会怀念那在他们看来“很 Unix”的 fxxking good old X11 days。君不见时至今日，还有人在因 systemd 的“去 Unix 化”而叫嚣与散发戾气？但是 Linux 早就不是 Unix 了，过度仰赖所谓 Unix 精神无异于求神拜佛，宛如朝拜偶像！FreeDesktop 也许被大公司控制，但是如果没有 FreeDesktop，今天的 Linux 桌面连屁都不是！<br />
btw，UA 是 Windows。这是因为自从 2018 年日用 Linux Desktop 至今
来自陕西榆林的 Firefox 121.0|Windows 10 用户
2023-12-31T21:38:31.000
113.200.174.13
续：这是因为自从 2018 年日用 Linux Desktop 至今，我早就对它失望透顶了。
来自陕西榆林的 Firefox 121.0|Windows 10 用户
2023-12-31T21:39:33.000
116.22.19.2
如果有人愿意维护Xorg，尤其是修复那些危险的漏洞，Xorg也不是不能用。<br />
“一旦窗口管理器出现崩溃，所有正在运行的应用程序都将被迫停止。”<br />
这在Xorg也会发生吧？不信在终端运行killall X或重启display manager服务，看看你打开的窗口还在不？
来自广东广州的 Chrome Mobile 119.0|Android 10 用户
2023-12-31T22:00:51.000
112.42.17.162
xorg 的语境下 x server，display manager 和窗口管理器不是一回事。反正我可以热重启 dwm，窗口除了重排之外屁事没有。
来自112.42.17.162的 Firefox 121.0|Android 11 用户
2023-12-31T22:45:55.000
116.22.19.2
对，不是一回事，但根据我的经验，桌面崩溃了再登录，软件就要重新打开。（这可能不是Xorg的问题，而是登录桌面之后不会恢复原来的会话）
来自广东广州的 Chrome Mobile 119.0|Android 10 用户
2024-01-01T08:23:41.000
39.144.92.157
种种表现来看，红帽和IBM就是要窃取开源果实
来自39.144.92.157的 Firefox 120.0|Windows 10 用户
2024-01-01T09:26:03.000
125.34.22.249
确实，Wayland有很多问题，但是总比X11的年久失修好一些
来自北京的 Firefox 121.0|Android 12 用户
2024-01-01T21:54:12.000
183.148.21.161
关键是xorg基本没有维护了,这才是关键,不过还是习惯用xorg
来自浙江台州的 Firefox 102.0|GNU/Linux 用户
2024-01-02T12:59:31.000
183.251.165.216
我认为，我们应该关注的是wayland的架构有哪方面的不足，以及它的未来会不会长远。
来自福建龙岩的 Chrome Mobile 90.0|Android 11 用户
2024-01-02T23:12:55.000
61.140.133.64
这几天我被wayland坑到了。<br />
要装个远程桌面，xrdp和tigervnc还不支持wayland，wayvnc依赖sway服务（？），好不容易配置好了，连接之后一分钟左右就断开了。还有个选项sunshine对硬件要求较高。<br />
我不知道这是wayland的问题还是这些软件的问题。
来自广东广州的 Chrome Mobile 119.0|Android 10 用户
2024-01-03T11:56:24.000
218.6.44.151
wayland在我看来是最优解，p社的所有游戏，nvim，有gpu加速的kitty，好用的kvm manager配上没有画面撕裂且极度丝滑的hyprland直接让人感叹科技的美好，高度自定义的同时带来了无比的欢乐还有一定的效率提升，至少我的hyprland从安装以来都没有崩溃过，爱与和平：）ps:评论区吵得很难听
来自福建龙岩的 Firefox 122.0|Windows 10 用户
2024-01-11T16:43:00.000
LCTT 译注：之前翻译发布的《Wayland 真的毁掉一切了吗？》引来了很多讨论，为了使讨论更全面，我也将该文所反驳的原文也翻译过来，供大家参考。
![](/data/attachment/album/202312/31/163306vitxpidi2u7o0ol9.jpg)



> 
> LCTT 译注：之前翻译发布的《Wayland 真的毁掉一切了吗？》引来了很多讨论，为了使讨论更全面，我也将该文所反驳的原文也翻译过来，供大家参考。
> 
> 
> 


如果你希望现有的应用程序能够“顺利运行”，而不需要做调整，那么你可能更愿意避免使用 Wayland。


Wayland 并没有解决我遇到的问题，但却破坏了我几乎需要的一切。甚至是最基本、最简单的事情（如 `xkill`） - *在这种情况下没有明显的替代品*。通常，它会保持破坏的状态，因为 Wayland 的人员似乎主要关心的是 Automotive、Gnome，也许还有 KDE - 并在此过程中忽视了其他人，比如那些只使用 X11 窗口管理器或 GNUstep 的人。


Wayland 的支持者们让人们觉得 Wayland 是 Xorg 的“继任者”，但事实上并非如此。它只是一个不兼容的替代品，并且甚至没有（也不打算）具有对等的功能（存在 [功能缺失](https://github.com/probonopd/wayland-x11-compat-protocols/)）。不像 X11（X 窗口系统），Wayland 协议设计者们积极避开“窗口”的概念，而是编造出让人无法理解的词语，如 “[xdg\_toplevel](https://wayland.app/protocols/xdg-shell#xdg_toplevel)”。


**不要使用 Wayland 会话！** 不要让 Wayland 毁掉一切，然后让其他人修复它造成的破坏。或者强制让每个人更多地使用红帽或 Gnome 组件（glib、Portals、Pipewire）！


Wayland 似乎是由那些对已有软件毫不关心的人创造出来的。他们以为每个人都乐于重写所有东西，或者只使用 Linux 上的 Gnome（而不是，NetBSD 上与 ROX Filer 搭配使用的 twm 之类）。


**补充**：当我写下上述内容时，我并没有真正意识到 Wayland 究竟是什么，我只是注意到一些发行版（如 Fedora）开始推送它给我，并在我开始使用后发现了一些问题。现在我明白了实际上你不能“安装 Wayland”，因为与 Xorg 不同，并没有一个“Wayland 显示服务器”，每个桌面环境都有自己的“显示服务器”。也许 “Wayland 的开发者们” 关心的并不只是 Gnome，但任何在 Gnome 的 Wayland 实现中的修复并不能自动地惠及所有的 Wayland 软件用户，也许他们也不会推荐这种实现。


**2023 年 12 月再次补充**：如果有什么东西想要替代桌面电脑（比如专业 Unix 工作站）的 X11，那么它最好支持用于那种场景的所有需要的功能（以及关键概念，如窗口）。那些人们的冰箱上也有显示器在这种讨论，在此并不重要。我们需要提出 [缺失的 Wayland 协议](https://github.com/probonopd/wayland-x11-compat-protocols/) 以实现与 X11 的全面功能一致性。


### Wayland 的设计本身就存在问题


* 一旦窗口管理器出现崩溃，所有正在运行的应用程序都将被迫停止。
* ~~你无法以 root 用户的身份运行应用程序~~
* 设计上的限制使你无法执行在 Xorg 中可以实现的众多功能
* 没有一个被所有人所使用，且与桌面环境无关的 `/usr/bin/wayland` 显示服务器应用程序（这与 Xorg 不同）
* 它将大量的工作都推给了窗口管理器。结果就是，在不同的窗口管理器中，相同的基础功能可能会有不同的实现方式，存在不同的表现和问题——也就是说，那些在桌面环境 A 中正常运行的可能在桌面环境 B 中并不适用（例如，你经常会听到有人说某个功能 “在 Wayland 上能正常工作”，但是实际上它只能在 Gnome 和 KDE 上正常运行，而不能在所有的 Wayland 实现上运行）。这个问题在以下的链接中得到了很好的总结：<https://gitlab.freedesktop.org/wayland/wayland/-/issues/233> 。


### Wayland 造成破坏的情况


下面列出了许多这种破坏情况，译者不打算详细列出细节（可在原文处查看）。这些人们补充的 Wayland 造成破坏的情况有：


* Wayland 影响了屏幕录制应用的正常运行
* Wayland 影响了屏幕共享应用的正常运行
* Wayland 影响了自动化软件的正常运行
* Wayland 影响了 Gnome-Global-AppMenu（Gnome 的全局菜单）的正常运行
* Wayland 破坏了与 KDE platformplugin 的全局菜单链接
* Wayland 影响了与非 KDE Qt platformplugins 的全局菜单正常运行
* Wayland 影响了那些没有提供特殊 Wayland Qt 插件的 AppImage 的运行
* Wayland 影响了 Redshift 的正常运行
* Wayland 影响了全局快捷键的正常使用
* Xfce 在 Wayland 下可能无法正常工作？
* Wayland 在英伟达硬件上可能无法正常工作？
* Wayland 在英特尔硬件上表现异常
* Wayland 偏向 Linux，影响了 BSD 的正常运行
* Wayland 复杂化了服务器端窗口装饰的处理
* Wayland 影响了窗口自我提升 / 激活的功能
* Wayland 影响了 RescueTime 的正常工作
* Wayland 影响了窗口管理器的正常运行
* Wayland 需要 JWM、TWM、XDM、IceWM 等重新实现类似 Xorg 的功能
* Wayland 影响了 \_NET\_WM\_STATE\_SKIP\_TASKBAR 协议的正常使用
* Wayland 影响了 NoMachine NX 的正常运行
* Wayland 影响了 xclip 的正常使用
* Wayland 影响了 SUDO\_ASKPASS 的正常工作
* Wayland 影响了 X11 atoms 的正常使用
* Wayland 影响了游戏的正常运行
* Wayland 影响了 xdotool 的正常使用
* Wayland 影响了 xkill 的正常工作
* Wayland 影响了屏保的正常显示
* Wayland 影响了窗口位置设置的准确性
* Wayland 影响了色彩管理的正确性
* Wayland 影响了 DRM 租赁的正常流程
* Wayland 影响了家庭内流媒体的正常播放
* Wayland 影响了 NetWM 的正常工作
* Wayland 影响了窗口图标的正常显示
* Wayland 影响了拖放功能的正常使用


### 解决方法


对于用户：可以避免使用 Wayland 会话，或者卸载那些只提供 Wayland 会话的桌面环境或 Linux 分发版。同时，也可以尽量避免使用只适用于 Wayland 的应用，比如 [PreSonus Studio One](https://support.presonus.com/hc/en-us/articles/19214558269581-Linux-Getting-Started)（可能的解决策略：在 <https://github.com/cage-kiosk/cage> 中运行此类应用）。


对于应用开发者：可以采取措施强制在 X11/Xwayland 上运行应用程序，就像 2023 年 11 月的 LibrePCB 所做的一样。


### 强制用户习惯 Wayland 的实例


这种情况正是本文想要警告和避免的。


* Asahi Linux 对 ARM 架构的 Mac 强制使用 Wayland，详情参见： <https://social.treehouse.systems/@marcan/110354541574112092>
* Fedora 对 KDE Plasma 强制使用 Wayland，详情参见：<https://fedoraproject.org/wiki/Changes/KDE_Plasma_6#Why_drop_the_X11_session_with_the_Plasma_6_upgrade>?
* 红帽对 RHEL 强制使用 Wayland，详情参见：<https://www.redhat.com/de/blog/rhel-10-plans-wayland-and-xorg-server>


### 参考资料


* Dudemanguy's Musings：[Wayland 无法挽救 Linux 桌面](https://dudemanguy.github.io/blog/posts/2022-06-10-wayland-xorg/wayland-xorg.html)
* Chris Titus Tech：Wayland 对比 Xorg <https://www.youtube.com/watch?v=U_MBJcD3SFI>
* tildearrow：[有人说 “反 Wayland 无稽之谈” 吗？](https://tildearrow.org/?p=post&month=2&year=2021&item=antihs)
* pcsx2：[CI/Linux：禁用 Wayland 并进行“春天大扫除”](https://github.com/PCSX2/pcsx2/pull/10179)


*（题图：DA/fbfad36b-baba-4237-aceb-c86b99ef379b）*




---


via: <https://gist.github.com/probonopd/9feb7c20257af5dd915e3a9f2d1f2277>


作者：[Probonopd](https://gist.github.com/probonopd) 译者：[ChatGPT](https://linux.cn/lctt/ChatGPT) 校对：[wxy](https://github.com/wxy)

