两种协议
在介绍协议前,先要明白什么是窗口管理器。以下是来自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。