1. 前言
在与Linux相关的文章、新闻和讨论中,您经常会遇到术语display server、Xorg、Wayland等。
在本文中,我们将讨论Linux中的显示服务器。
2. 什么是Linux中的显示服务器?
显示服务器是一个程序,它负责其客户端的输入和输出协调,与操作系统的其他部分的输入和输出协调,以及硬件和操作系统之间的协调。基本上,您可以图形化地使用计算机(GUI)。如果没有显示服务器,您将只能使用命令行接口(TTY)。
显示服务器为图形环境提供了框架,以便您可以使用鼠标和键盘与应用程序进行交互。
显示服务器通过显示服务器协议与客户端通信,如X11。显示服务器是任何图形用户界面(特别是窗口系统)中的关键组件。
不要混淆显示服务器和桌面环境。桌面环境使用它下面的显示服务器。
3. Linux的显示服务器通信协议
Linux有三种显示服务器协议,分别是X11、Wayland和Mir。我来简单介绍一下这些显示服务器。
4. X11
X11(也称为X)是已经存在多年的经典显示服务器。它是Linux发行版中最常/用的显示服务器。
X11通信协议,使用X.org Server显示服务器。它从设备驱动程序接收输入事件,并使它们对它的一个客户端可用。
显示服务器也从它的客户端接收数据,它处理数据并进行合成,在Linux上它将数据传递给三个内核组件之一:DRM、gem或KMS驱动程序。
X.org服务器是一个显示服务器,它依赖于第二个程序(合成窗口管理器)来完成合成。例如Mutter或KWin。GNOME使用Mutter。
5. Wayland
根据Wayland的网站,该产品“打算成为X的一个更简单的替代品,更容易开发和维护”。
它的采用仍在进行中。Ubuntu尝试用17.10版本切换到Wayland作为默认的显示服务器,但是这个试验得到了负面的反馈。
许多GUI应用程序及其框架都依赖于X服务器。这些应用程序在Wayland上并没有像预期的那样工作。
即使在今天,绝大多数发行版都默认使用X显示服务器。
执行Wayland显示服务器协议的显示服务器称为Wayland合成器。与X11一样,Wayland合成器负责为客户处理输入和输出,但也负责合成-与X11相反。
Wayland的几个排列名词分别是Weston, Mutter, KWin或Enlightenment。
6. Mir
Mir显示服务器自带自己的Mir显示服务器协议,这与X11和Wayland使用的协议不同。它是由Canonical开发的,作为Unity开发的一部分,并打算成为Ubuntu的显示服务器的可选项。
2017年开始,它已被桌面版Ubuntu的Wayland显示服务器取代,尽管Mir的物联网(IoT)应用程序的开发仍在继续。
7. 为什么我们还在用Xorg?
Wayland相对较新,与Xorg相比还不是很稳定。
因此,在使用Wayland时,许多程序可能无法运行。
8. 结论
通过本文,您可能对Linux系统中的显示服务器概念有了更好的理解。如果你有更好的看法,欢迎留言。