两种协议

在介绍协议前,先要明白什么是窗口管理器。以下是来自ArchWiki的解释。

窗口管理器(WM)是一种系统软件,在图形用户界面(GUI)中的窗口系统中控制窗口的位置和外观。它可以是桌面环境(DE)的一部分,也可以独立使用。窗口管理器是 Xorg 独有的。Wayland 上窗口管理器的等价物称为混成器,因为它们也充当混成窗口管理器。

这里提到了 Xorg 和 Wayland,在习惯上都认为它们是 WM。下面是用 Fastfetch 输出的内容,显示我当前使用的 WM 是 X11。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
                            ....               joe@SER5MAX
.',:clooo: .:looooo:. -----------
.;looooooooc .oooooooooo' OS: Ubuntu noble 24.04 x86_64
.;looooool:,''. :ooooooooooc Host: SER
;looool;. 'oooooooooo, Kernel: Linux 6.8.0-39-generic
;clool' .cooooooc. ,, Uptime: 6 hours, 16 mins
... ...... .:oo, Packages: 1808 (dpkg), 8 (snap)
.;clol:,. .loooo' Shell: zsh 5.9
:ooooooooo, 'ooool Display (PHL 292E2): 2560x1080 @ 60Hz
'ooooooooooo. loooo. DE: GNOME 46.0
'ooooooooool coooo. WM: Mutter (X11)
,loooooooc. .loooo. WM Theme: Yaru-dark
.,;;;'. ;ooooc Theme: Yaru-dark [GTK2/3/4]
... ,ooool. Icons: Yaru-dark [GTK2/3/4]
.cooooc. ..',,'. .cooo. Font: Cantarell (11pt) [GTK2/3/4]
;ooooo:. ;oooooooc. :l. Cursor: DMZ-White (24px)
.coooooc,.. coooooooooo. Terminal: WezTerm 20240203-110809-5046fc22
.:ooooooolc:. .ooooooooooo' Terminal Font: FantasqueSansM Nerd Font
.':loooooo; ,oooooooooc CPU: AMD Ryzen 7 5800H (16) @ 4.46 GHz
..';::c' .;loooo:' GPU: AMD Radeon Vega Series / Radeon Vega Mobile Series [Integrate]
Memory: 6.59 GiB / 12.59 GiB (52%)
Swap: 165.00 MiB / 32.00 GiB (1%)
Disk (/): 17.44 GiB / 195.83 GiB (9%) - ext4
Disk (/home): 17.32 GiB / 209.63 GiB (8%) - ext4
Local IP (wlo1): 10.82.45.183/22
Locale: zh_CN.UTF-8

████████████████████████
████████████████████████

严格来说,输出的“WM”,应该称为显示服务器协议,下面是对“X、Xorg、X11、Wayland 之间关联”的解释

从广义上讲,X 窗口系统(通常简称 X)是操作系统的窗口协议,定义了显示服务器协议,该服务器可以在“显示客户端”(计算机)上呈现正在运行程序的窗口。X11 指的是 X 协议的版本 11,而 Xorg 是 X 的开源实现。Wayland 是一个旨在替代 X 的显示服务器协议。

引用知乎问答“GNOME,Xorg,X Window,X Server,Wayland是什么关系?”的一张图:

使用建议

有诸多关于使用X还是Wayland以及两者优劣的讨论的讨论:

依照本人使用体验来看,尽管目前普遍认为 Wayland 是未来,但是一众软件对其的支持不尽如人意。比如腾讯会议无法打开,QQ、Flamshot 无法截图等。Wayland 在截图、桌面共享等场景上体验较差,而 X 历史悠久,软件支持较为优秀,现阶段仍然推荐使用 X。

使用 Arch Linux,需要安装 Xorg。在安装阶段遵循 ArchWiki 即可。

Ubuntu 自 21.04 版本开始默认使用 Wayland,参考《how-to-enable-disable-wayland-on-ubuntu-22-04-desktop》。
编辑文件/etc/gdm3/custom.conf,将WaylandEnable=false的注释去掉,则会默认使用 X11。