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

原标题:Linux 黑话解释:Xorg,X11,Wayland,什么是显示服务器

您是否想知道X Server,Xorg,X11,Wayland以及诸如此类的东西到底是什么?Wayland vs Xorg,哪个更好?本指南就为你详细讲解。

您总是会遇到这些术语,并且知道它们与图形有关,但您可能想更深入了解它们,那就继续阅读本文吧。

Linux中的显示服务器是什么?

显示服务器是一个程序,其主要任务是协调客户端与其他操作系统,硬件以及彼此之间的输入和输出。显示服务器通过显示服务器协议与其客户端进行通信。

显示服务器是任何图形用户界面(尤其是窗口系统)中的关键组件。它是图形用户界面(GUI)的基本组件,位于图形界面和内核之间。因此,借助显示服务器,您可以将计算机与GUI一起使用。没有它,您将只能使用命令行界面。

0f189c959bdc936f14a1306329680626.png

不要将显示服务器与桌面环境混淆是非常重要的。桌面环境(Gnome、KDE、Xfce、MATE等)使用了底层的显示服务器。

比如: Ubuntu 21.04现在默认启用Waylandhttps://www.linuxmi.com/ubuntu-21-04-linux-5-10-lts-wayland.html

显示服务器通过显示服务器协议与其客户端进行通信。Linux中提供了三种显示服务器协议。X11和Wayland是其中两个。第三个Mir超出了本文的范围。

X Window System, X.Org, X11介绍

X Window System(通常仅称为X或X11)确实很古老。它最初起源于1984年,最终成为大多数类似UNIX的操作系统(包括Linux)的默认窗口系统。

a91bcf9c273793b9d6fafea713c39892.png

X.Org服务器是X.Org基金会管理的X Window System显示服务器的免费开放源代码实现。它是一个通过X11协议与客户端应用程序进行交互的应用程序,用于在显示器上绘制内容并发送输入事件,例如鼠标移动,单击和击键。通常,将启动一个X服务器,它将等待客户端应用程序连接到它。Xorg基于客户端/服务器模型,因此允许客户端在另一台计算机上本地或远程运行。

在X11的设计中,应用程序和显示器不必在同一台计算机上,这一点并不明显。在开发X时,X server运行在工作站上,而用户在具有更强处理能力的远程计算机上运行应用程序是很常见的。

X11 是网络协议。它描述了如何在客户端(应用程序)和显示器(服务器)之间交换消息。这些消息通常带有原始的绘制命令,例如“绘制框”,“在此位置写这些字符”,“已单击鼠标左键”等。

但是X11已经很古老了,X server协议提供的大部分功能不再使用。X11所做的几乎所有工作都重新分配给了各个应用程序和窗口管理器。然而,所有这些旧特性仍然存在,给所有这些应用程序带来了压力,损害了性能和安全性。

下一代显示服务器Wayland

Wayland 由X.Org开发人员Kristian Hogsberg于2008年作为个人项目开始。它是一种通信协议 ,用于指定显示服务器与其客户端之间的通信。Wayland是作为一个免费的开源社区驱动的项目而开发的,目的是用现代,安全和简单的窗口系统代替X Window System(也称为X11或Xorg)。

7f56d19add83c8ab475b67fe4a0bccf1.png

在Wayland中,合成器是显示服务器。Compositor是一个窗口管理器,它为应用程序提供每个窗口的屏幕外缓冲区。窗口管理器将窗口缓冲区合成为代表屏幕的图像,并将结果写入显示内存。

Wayland协议允许合成器将输入事件直接发送到客户端,并让客户端将损坏事件直接发送到合成器。

与X情况一样,客户端在接收到事件时会作为响应更新用户界面(UI)。但是,在Wayland中,渲染发生在客户端中,并且客户端只是向合成器发送请求以指示已更新的区域。

Wayland与X相比的主要优势在于它是从头开始的。X的复杂性的主要原因之一是,多年来,它的作用已经改变。结果,今天,X11很大程度上充当了客户端和窗口管理器之间的“一个非常糟糕的”通信协议。

Wayland在安全性方面也很出色。使用X11,可以通过允许任何程序在后台存在并读取X11区域中打开的其他窗口所发生的事情来执行称为“键盘记录”的操作。使用Wayland,这根本不会发生,因为每个程序都是独立工作的。

总结

但是,与Wayland相比,X Window System仍具有许多优势。即使Wayland消除了Xorg的大多数设计缺陷,它也有其自身的问题。即使Wayland项目已经进行了十多年,事情还是不是100%稳定的。截至2020年,大多数用于Linux的视频游戏和图形密集型应用程序仍为X11编写。另外,许多封闭源代码的图形驱动程序,例如NVIDIA GPU的驱动程序,都尚未完全提供对Wayland的支持。

X不能持久,Wayland在许多方面都可以改善。但是到目前为止,现有的绝大多数本机应用程序都是为Xorg编写的。在移植所有这些应用程序之前,需要维护Xorg。与Xorg相比,Wayland还不是很稳定。

源自:https://www.linuxmi.com/xorg-x11-wayland-linux.html

每天 获取 技术干货,让我们一起成长 合作联系微信:linuxgs返回搜狐,查看更多

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有气质的人都在看什么?

全世界只有3.14 % 的人关注了青少年数学之旅王小波说:我活在世上,无非想要明白些道理,遇见些有趣的事,倘能如我所愿,我的一生就算成功。你的圈子将决定你的人生。每一位对事物都有着独特的态度让你成为一个有趣的人。今…

投影变换[转]

4. 投影变换 一个投影变换类似于选择一个透镜的焦距,它是三种变换中最复杂的一个。 4.1 视锥(Viewing Frustum) 4.2 什么是投影变换? 4.3 设置投影矩阵 4.4 一个“W-Friendly”投影矩阵 4.1 视锥视锥就是场景中的一个三维空间,…

那些把天聊死的神操作。。| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅【1】【2】【3】【4】【5】【6】【7】【8】【9】【10】【11】【12】(图源网络,侵权删)有话请“直”说↓ ↓ ↓

SqlDataReader对象的NextResult方法读取存储过程多个结果集

如上图,我这里有返回4个记录集,分别表示 发送的总数,成功数,失败数,以及所有的记录集,那么我怎么去获取呢? 如果我第二个记录集 第三个记录集 都是多行的话,怎么办?可以参考下面这张…

全部换新-微软复兴.NET,C#10 .NET6 VS2022各个强势!

VS2022.NET6C#10一起体验是啥感觉?爽!令人印象深刻的是VS2022打开超大项目的流畅,.NET6极致简化的MiniAPI框架,C#10各种炫酷新语法。看看下图的代码你能认识吗?来自MiniAPI框架,直接在MapGet里面使用Lambda…

linux 修复图形界面,图形界面操作的备份和恢复Linux发行版

原标题:图形界面操作的备份和恢复Linux发行版来自:Linux迷链接:https://www.linuxmi.com/redo-rescue-2-0-6-linux.html现在可以下载Redo Rescue 2.0.6备份和恢复Linux发行版,该发行版增加了各种改进和新功能以及常见的错误修复。…

汇编语言的Hello World

汇编语言的Hello World,汇编语言没有我想象的那么低级,它已经具备了不少高级语言的特性,代码也变得清晰,层次清楚,易于维护了。a.asm.386.model flat,stdcall includelib kernel32.lib includelib user32.lib MessageB…

一条线一万美元的故事误导了你多少年

全世界只有3.14 % 的人关注了青少年数学之旅福特公司请斯坦门茨检修电机,画一道线用了一万美元,这个几乎人尽皆知的故事告诉我们一个道理:知识就是财富。故事讲到这里就结束了,但实际上,故事还有下文……20世纪初&…

ylbtech-Model-Account(通用账户模块设计)

ylbtech-DatabaseDesgin:ylbtech-Model-Account(通用账户模块设计)ylbtech-Model-Account(通用账户模块设计) 1.A,数据库关系图(Database Diagram)1.B,数据库设计脚本(Database Design Script)-- -- 用户模块设计 -- 2013-8-24 -- author:yuanbo -- US…

祝大家圣诞节快乐

同时庆祝 JWFD 20周年

刘敏:优麒麟开源操作系统运营实践 | DEV. Together 2021 中国开发者生态峰会

内容来源:2021 年 6 月 5 日,由 SegmentFault 思否主办的 2021 中国开发者生态峰会圆满落幕。会上,优麒麟开源社区运营负责人刘敏发表了主题为《优麒麟开源操作系统运营实践》的演讲,从市场的角度去讲解了一些其他板块的知识。分享…

拖延的本质是逃避!| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅(图源网络,侵权删)扎心了↓ ↓ ↓

C# 无意间写了一段线程死锁的代码

源码如下&#xff1a;private void action_Click(object sender, RoutedEventArgs e){Task t new Task(() >{for (int i 0; i < 10; i){Thread.Sleep(1000);this.Dispatcher.Invoke(() >{lblStr.Content i.ToString();});manualResetEvent.Set();Console.WriteLine…

5G已来,你能做些什么?

5G大潮虽然已经来临&#xff0c;即便没有5G手机&#xff0c;小木还是要不甘示弱地测一下自己的网速&#xff0c;假装自己也是可以美美地在网上冲浪的&#xff01;小木的网速网友提供的5G测速多么痛的领悟&#xff0c;这差距还真的是很大&#xff01;说了这么多&#xff0c;你可…

java得到文件创建时间linux,linux java获取文件创建时间

linux java获取文件创建时间[2021-01-31 07:35:22] 简介:服务器背景有时候我们需要获取文件的创建时间。例如:我在研究 《xtrabackup 原理图》的时候&#xff0c;想通过观察确认 xtrabackup_log 是最php去除nbsp的方法&#xff1a;首先创建一个PHP代码示例文件&#xff1b;然后…

认识WPF

新开一节WPF桌面开发的讲解&#xff0c;这节先初步认识一下什么是WPF。1.简介WPF是 Windows Presentation Foundation 的英文缩写&#xff0c;意为“窗体呈现基础”&#xff0c;是微软基于.NET Framework 3.0 推出的新一代构建窗体程序的框架。不同于WinForm&#xff0c;WPF实现…

MFC Attach()函数和Detach()函数

一、Windows对象和MFC对象的区别&#xff1f;MFC对象实际上并没有把整个Windows对象都包装在其中。对于窗口&#xff1a;MFC对象它只是有一个窗口句柄而已&#xff0c;这个窗口句柄如果指向一个实际存在的窗口对象&#xff08;窗口对象&#xff0c;也就是WNDCLASS&#xff0c;是…

用“谬论”指挥研究方向数十年,是谁让“老年痴呆”至今仍是绝症?

全世界只有3.14 % 的人关注了青少年数学之旅阿尔兹海默症&#xff0c;是“老年痴呆”的正确科学名称。它可能是世界上最广为人知的“绝症”之一&#xff1a;不仅让患者丧失了记忆和自我&#xff0c;也一直令在寻找治疗方法的学者和医药企业束手无策。30 多年前出现的“淀粉样蛋…

一定要多角度看事物 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅一定要多角度看事物岁月对我们做了什么无法反驳论发型的重要性坐骨神经痛被赋予了新含义老师真的很会总结了&#xff08;图源E_Volution_&#xff09;扎心了↓ ↓ ↓

烧录imx6需要的linux空间,IMX6Q学习笔记——开发板的Linux系统更新和烧录

IMX6Q学习笔记——开发板的Linux系统更新和烧录记录自己在电鱼电子开发SAIL-IMX6Q全能板后&#xff0c;并且对系统和模块进行简单测试的过程之后对开发板的Linux系统进行更新和烧录的记录过程&#xff0c;算是进行一个分享和记录&#xff0c;同时也方便自己日后查阅。首先准备好…