网站首页 > 精选文章 正文
在 Linux 相关的文章、新闻和讨论中,你经常会遇到显示服务器、Xorg、Wayland 等术语。
什么是 Linux 显示服务器?
显示服务器是一个程序,它负责协调客户端的输入和输出、与操作系统其他部分之间的输入和输出,以及硬件和操作系统之间的输入和输出。基本上,有了显示服务器,你就能以图形方式(GUI)使用电脑。如果没有显示服务器,就只能使用命令行界面 (TTY)。
显示服务器为图形环境提供了框架,这样您就可以使用鼠标和键盘与应用程序进行交互。
显示服务器通过显示服务器协议(如 X11)与客户端通信。显示服务器是任何图形用户界面(特别是窗口系统)的关键组件。
不要混淆显示服务器和桌面环境,显示服务器是服务桌面环境的后台程序。
在 Linux 显示服务器通信协议
Linux 中有三种显示服务器通讯协议:X11、Wayland 和 Mir。
- X11
X11(又称 X)是已存在多年的传统显示服务器。它是 Linux 发行版中最常用的显示服务器。
X11 通信协议使用 X.org Server 显示服务器。它接收来自设备驱动程序的输入事件,并将其发送给其中某一个客户端。
显示服务器还从客户端接收数据,处理数据并进行整合。在 Linux 系统中,它将数据传递给三个内核组件之一--DRM、gem 或 KMS 驱动程序。而X.Org 服务器依赖于第三方的窗口管理器来完成数据整合,例如 Mutter 或 KWin。GNOME桌面系统 使用 的是Mutter。
- Wayland
根据Wayland网站介绍,Wayland开发使用目的是作为 X 的简单替代品,它更易于开发和维护。事实上,Wayland 就是现代显示服务器,它应该取代传统的 X 显示服务器。但是它的推广使用仍面临困境,Ubuntu 试图在 17.10 版本中改用 Wayland 作为默认显示服务器,但最终效果并不理想。因为很多图形用户界面应用程序及其框架都依赖于 X 服务器,这些应用程序在 Wayland 上无法正常运行,用户体验很不理想。这迫使 Ubuntu 继续将 X 服务器作为默认显示服务器,虽然 Ubuntu 仍提供使用 Wayland 的选项,但它已不再是默认设置。
目前,绝大多数Linux发行版都默认使用 X 显示服务器。
执行 Wayland 显示服务器协议的显示服务器称为 Wayland 整合器,Wayland 整合器不仅负责处理客户端的输入和输出,还负责整合,这是与 X11 的不同之处。
Wayland 整合器包括有 Weston、Mutter、KWin 或 Enlightenment。
- Mir
Mir 显示服务器自带 Mir 显示服务器协议,与 X11 和 Wayland 使用的协议不同。它由 Canonical 开发,是 Unity 开发的一部分,旨在成为 Ubuntu 的首选显示服务器。截至 2017 年,它已被 Ubuntu 桌面版的 Wayland 显示服务器所取代,不过 Mir 仍作为物联网(IoT)应用继续开发。
为什么我们还在使用 Xorg?
Wayland 相对较新,但与 Xorg 相比还不是很稳定。作为客户端的程序必须知道如何与显示服务器进行通信。因此,许多程序在使用 Wayland 时可能无法运行,导致用户体验差,使用还不普遍。
猜你喜欢
- 2025-07-08 首次支持画中画模式,微软Win11安卓子系统WSA 2303更新发布
- 2025-07-08 Red Hat红帽组织Linux开发者聚会,探讨支持HDR显示相关事项
- 2025-07-08 Linux开发板调屏方法,实战经验让您少走弯路
- 2025-07-08 Linux:显示和管理IP址设置(linux配置管理口ip)
- 2025-07-08 linux显示管理器有哪些?(linux显示管理器有哪些类型)
- 2025-07-08 什么是Linux显示服务器?它的用途是什么?
- 最近发表
-
- 首次支持画中画模式,微软Win11安卓子系统WSA 2303更新发布
- Red Hat红帽组织Linux开发者聚会,探讨支持HDR显示相关事项
- Linux开发板调屏方法,实战经验让您少走弯路
- 什么是 Linux 中的显示服务器?它有什么用途?
- Linux:显示和管理IP址设置(linux配置管理口ip)
- linux显示管理器有哪些?(linux显示管理器有哪些类型)
- 什么是Linux显示服务器?它的用途是什么?
- Linux常见的网络客户端工具ping/lftp/ftp/lftpget/wget应用示例
- Linux/Ubuntu下apt-get install 安装程序时提示无法获得锁
- Linux内核中断之获取中断号(linux中断原理)
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)