导读:在 Linux 相关的文章、新闻和讨论中,你会经常遇到显示服务器、Xorg、Wayland 等名词。本文字数:1882,阅读时长大约:2分钟https://linux.cn/article-12589-1.html作者:Dimitrios Savvopoulos译者:Xingyu.Wang

在 Linux 相关的文章、新闻和讨论中,你会经常遇到显示服务器(display server)、Xorg、Wayland 等名词。

在这篇解释文章中,我将讨论 Linux 中的显示服务器。

什么是显示服务器?

显示服务器是一个程序,它负责协调其客户端与操作系统的其他部分之间,以及硬件和操作系统之间的输入和输出。基本上,多亏了显示服务器,你才能以图形化的方式使用你的计算机(GUI)。如果没有显示服务器,你只能局限于命令行界面(TTY)。

显示服务器提供了一个图形环境的框架,使你可以使用鼠标和键盘与应用程序进行交互。

显示服务器通过显示服务器协议(如 X11)与客户端进行通信。显示服务器是图形用户界面 —— 特别是窗口系统 —— 中的一个关键组件。

不要把显示服务器和桌面环境混淆。桌面环境的下层使用的是显示服务器。

听起来很熟悉,但又不完全清楚?让我来解释一下。

Linux 上的显示服务器协议

Linux 中有三种显示服务器协议,分别是 X11、Wayland 和 Mir。下面我就给大家简单介绍一下这些显示服务器。

X11

X11(也称 X)是已经存在多年的传统显示服务器。它是 Linux 发行版中最常用的显示服务器。

X 架构

X11 通信协议,使用显示服务器 X.org 服务器。它接收来自设备驱动程序的输入事件,并将它们提供给它的一个客户端。

显示服务器也从客户端接收数据,它处理数据并进行合成,在 Linux 上,它将数据传递给三个内核组件之一:DRM、gem 或 KMS 驱动。

X.Org 服务器是一个显示服务器,它依靠第二个程序:合成窗口管理器,来进行合成。例如 Mutter 或 KWin。GNOME 使用的是 Mutter。

Wayland

按照其网站的说法,Wayland “旨在作为 X 的更简单的替代品,更容易开发和维护”。

而事实上 Wayland 就是现代的显示服务器,它应该取代传统的 X 显示服务器。

对它的采用还在普及中。Ubuntu 曾试图在 17.10 版本中改用 Wayland 作为默认的显示服务器,但这个尝试遭到了负面反馈。

很多 GUI 应用程序及其框架都依赖于 X 服务器。这些应用程序在 Wayland 上无法正常工作。

这迫使 Ubuntu 继续使用 X 作为默认显示服务器。它仍然提供了使用 Wayland 的选项,但不再是默认的了。

即使在今天,绝大多数的发行版都默认使用 X 显示服务器。

Wayland 架构

实施 Wayland 显示服务器协议的显示服务器,被称为 Wayland 合成器。和 X11 上的一样,Wayland 合成器负责处理其客户端的输入和输出,但同时也进行合成,这与 X11 相反。

几个 Wayland 合成器是 Weston、Mutter、KWin 或 Enlightenment。

Mir

Mir 显示服务器自带的 Mir 显示服务器协议,与 X11 和 Wayland 使用的协议不同。它是由 Canonical 开发的,作为 Unity 开发的一部分,打算成为 Ubuntu 的首选显示服务器。

但在 2017 年,它已经被 [Ubuntu] 桌面版的 Wayland 显示服务器所取代,不过 Mir 的开发还在继续,用于物联网(IoT)应用。

为什么我们还在使用 Xorg?

Wayland 作为比较新的产品,相比 Xorg 来说,还不是很稳定。作为客户端的程序,必须知道如何与显示服务器进行通信。

因此,很多程序在使用 Wayland 时可能无法运行。Ubuntu 默认切换到 Wayland 的实验证实了这一点。

结束语

我希望你对 Linux 中的显示服务器概念有了更好的理解。我已经尽量不谈太多的技术细节,但我无法完全避免。

欢迎你的反馈和建议。


via: https://itsfoss.com/display-server/

作者:Dimitrios Savvopoulos 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

显示部分x_Linux 黑话解释:什么是显示服务器,用来做什么? | Linux 中国相关推荐

  1. linux启动xorg进程,Linux 黑话解释:Xorg,X11,Wayland,什么是显示服务器

    原标题:Linux 黑话解释:Xorg,X11,Wayland,什么是显示服务器 您是否想知道X Server,Xorg,X11,Wayland以及诸如此类的东西到底是什么?Wayland vs Xo ...

  2. python绘制折线图中文图例不显示_python使用matplotlib绘图时图例显示问题的解决...

    前言 matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.在使用Python matplotlib库绘制数据图时,需要使用图例标注数据类别,但是传参时,会出现图 ...

  3. Java黑皮书课后题第1章:1.2(显示五条消息)编写程序,显示以下表格

    Java黑皮书第1章课后题:1.2 显示五条消息 题目描述 代码块 修改日志 题目描述 编写程序,显示Welcome to Java五次 和1.1 显示三条消息异曲同工之妙(小声:题目缺陷也一样): ...

  4. div显示在上层_DIV重叠 如何优先显示(div浮在重叠的div上面)

    如果有2个div有重叠,默认是根据html解析顺序,最后加载的优先级最高(浮在最上面). 问题: 如果想把前面加载的div显示在最上面?关键字:z-index 举例: --原来的页面:first di ...

  5. fedora11下,关于google音乐无法显示和校内网阳光牧场字体显示的问题

    关于google音乐无法显示和校内网阳光牧场字体显示不出来的问题,很早以前就碰到了,解决的方法很简单,删除掉字体wqy-bitmap-fonts 就可以了,装上wqy-microhei-fonts就好 ...

  6. html 空格显示不出来了,html 解决空格显示问题

    前端开发者都知道,在html中手动输入多个空格或者是回车,在页面解析的时候都被解析成一个空白显示,但有时候的需求要求显示多个空格,这个问题怎么解决呢?根绝我个人的经验,目前找到了以下集中解决办法: 1 ...

  7. java显示本地磁盘所有盘符,显示桌面路径

    import java.io.File; import javax.swing.filechooser.FileSystemView;/** 显示本地磁盘根盘符,显示桌面路径 */ public cl ...

  8. Linux 黑话解释:什么是定时任务

    在本期的<Linux 黑话解释>系列文章中,你将了解到 Linux 中的定时任务功能.你将通过学习编辑 crontab 文件来创建定时任务. 何为定时任务 cron是一个用于按计划运行短小 ...

  9. R语言ggplot2可视化百分比显示实战:纵轴显示为百分比、在柱状图上显示百分比、按照因子变量绘制分组子图(纵轴显示为百分比)、可视化图中显示数据百分比

    R语言ggplot2可视化百分比显示实战:纵轴显示为百分比.在柱状图上显示百分比.按照因子变量绘制分组子图(纵轴显示为百分比).可视化图中显示数据百分比 目录

最新文章

  1. Windows 安装adb
  2. c++新特性11 (9)智能指针一”_Compressed_pair类“
  3. 【uni-app】 rich-text 中图片溢出
  4. 剑指offer--51.表示数值的字符串
  5. c语言malloc引用类型作参数,C语言动态内存函数的理解和总结
  6. 软件套装 推荐书籍-海洋工程类
  7. 单片机小白学步系列(三) 偶遇51单片机
  8. 刀片 显卡 排行_AMD发布RadeonRX6000系列游戏显卡 4599元起
  9. 打破“单点防护”缺陷,山石网科发布“云网端”XDR解决方案
  10. 二叉树的深度优先遍历逆推
  11. 设计模式学习笔记——责任链(Chain of Responsibility)模式
  12. 猜拳游戏php代码,最常见的猜拳小游戏Android代码实现
  13. Session保存到Memcache
  14. 大楼通信综合布线系统_什么是网络综合布线系统组成?网络综合布线系统如何选择线缆?...
  15. Netty入门(九)空闲连接以及超时
  16. 美团推出外卖版拼多多;iOS 14 Beta 3暂禁用3D Touch功能;Rust 1.45 发布| 极客头条
  17. Windows2003开机后进不了系统
  18. 三种方式在spring容器中为bean实现初始化方法和销毁方法
  19. 安装sphinx的心得和错误处理
  20. 【MyBatis动态SQL批量修改数据出现报错问题】

热门文章

  1. 装机人员工具_吕梁采购气伏式包装机-哪家好-强盛包装机械
  2. 自然语言处理NLP-100例 | 第一篇:如何用Python做情感分析?
  3. 人工智能的发展趋势和行业岗位
  4. 【Hadoop】MAC下hadoop2.6安装以及执行wordcount
  5. 理解OAuth 2.0--转
  6. Load和Initialize的往死了问是一种怎样的体验
  7. 【机器学习】理解机器学习
  8. 大数据风控之贷前调查必知的十大客户信息
  9. 宏定义define的使用
  10. 阿里巴巴利润暴涨108%