我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

常见的实现该协议的服务器有:IIS等。

请求这些服务器传输文件的客户端包括:IE、等等。

协议是 X

常见的实现该协议的服务器有Xorg,Xnest等。

向这些服务器请求显示任务的客户端:所有 X 应用程序。

只不过HTTP协议的服务器和客户端通常是在两台不同的计算机(服务器和客户端)之间实现的,因此普通人比较容易理解。而X协议的服务器和客户端程序通常在同一台计算机上,因此很多用户觉得很难理解。既然是协议,就必须与平台无关,因此X应用程序可以显示在任意一台安装了X服务器的远程计算机上。甚至是在安装了Xnest服务器的系统上。但大多数情况下,X应用程序都是使用本地的X服务器,然后由X服务器将显示结果输出到本地显示器上。这也是很多人不理解X是一种协议的原因。

4.X和X11R6什么关系?

不知初学者是否注意到/usr/X11R6这个目录,它是XFree的默认安装目录。

X11R6 实际上是 X116

(X 协议版本 11 第六版)表示当前的 X 协议为版本 11,经过了 6 次小修订。不同版本的 X 协议无法相互通信,就像我们现在的 IPv4 和 IPv6 无法相互通信一样。不过不用担心,目前的 X 服务器软件和 X 应用程序都遵循 X11R6。

另外,3.3.6、4.3.6等版本是实现X协议的软件的版本号,这个概念对于初学者来说往往非常容易混淆。

协议版本和实现该协议的软件版本——你清楚这两个概念的区别吗?

5.X服务器和WM(窗口管理器)什么关系?

您通常如何启动图形界面?

如果你在启动后就进入图形界面,那真是太可惜了。你错过了了解 X 服务器启动过程的机会。不过没关系。打开 XTERM 并输入:

初始化 3

然后您就可以安全地返回角色界面了。

好了,完成下面的实验之后,你就会充分明白X和WM( )之间的关系了。

首先输入以下命令:

#

启动图形界面,你将看到一个完整的和平常一样的图形界面操作环境。

您可以最大化、最小化、移动、关闭窗口等。

按ctrl+alt+返回字符界面。

进入:

#xinit

再次启动图形界面,你看到了什么?你看到一个XTERM。它不能移动。但你可以在这个XTERM中输入命令来打开X应用程序。如果我输入:

#

打开浏览器,你看到的浏览器跟平时有什么不同吗?它位于屏幕中间,无法移动、最小化或最大化,没有边框。

为什么同样的X应用会有这么大的差别呢?因为当我们启动图形界面的时候,也会启动一个WM(窗口管理器)。如果你用KDE,KDE就启动了,如果你用GNOME,GNOME就启动了。但是当你用xinit启动图形界面的时候,WM并没有启动。

现在你明白窗口管理器的作用了吧?它的作用就是最大化、最小化、移动、关闭窗口等等。这些都不是X服务器能做的。

如果您使用 xinit 启动 GUI 并在 xterm 中输入 twm,会发生什么情况?

xterm 加了一个边框,你可以通过这个边框来移动、最大化、最小化 xterm。 twm 是 中自带的窗口管理器,它是一个比较简洁朴素的窗口管理器,但是它具备一个窗口管理器的所有功能。

如果你不输入 twm,而是输入 gnome-,你就可以启动 GNOME

或者通过输入来启动 KDE。

通过上面的实验,可以清楚的了解到它们之间的关系。

6. 关于 KDE 和 GNOME

KDE和GNOME是LINUX中最常用的图形界面操作环境,它们不仅仅是一个窗口管理器,KDE是K的缩写,它不仅仅是一个窗口管理器,还有很多配套的应用软件和方便的桌面环境,比如任务栏、开始菜单、桌面图标等。

GNOME是GNU Model的缩写,与KDE一样,也是一个功能强大、功能全面的环境。

在其他UNIX系统中,也经常使用CDE作为这样的环境。

其他小窗口管理器包括:

maker,step之后,fvwm,fvwm2等都是常用的优秀窗口管理器。maker是有的,但是默认没有安装,你可以尝试安装,运行xinit然后&就可以使用了。

7.Linux图形界面层级关系总结

Linux 本身 --> X 服务器窗口管理器(集成桌面环境) --> X 应用程序。

服务器的实现由两部分组成,一部分是直接和显卡交互的下层,一部分是和X应用程序交互的上层。上层负责接收应用程序的请求和鼠标键盘动作。直接和显卡交互的下层负责指挥显卡生成图形,其实就是显卡驱动。上层在接收到应用程序的请求之后,会对请求内容进行适当的处​​理,然后交给显卡驱动指挥显卡完成绘制动作。另外,捕获键盘鼠标动作的上层会向应用程序提供鼠标键盘的状态信息,应用程序接收到这些信息之后,再决定是否采取相应的动作。

我们平时说的VESA、VGA、fbdev等其实都是针对不同模式的显卡的驱动。

VESA(视频)

VGA(视频阵列)

错误信息设备 ( )

等待

都是不同的显卡标准,不过这些标准已经很老了,现在的显卡都兼容这些模式。

这种模式下的显卡没有任何数据计算能力,就像是一个暂时储水的水池,CPU把计算的结果放到水池里,水池再把结果流到显示器,中间没有数据处理,这种情况下,所有的显示任务都由CPU完成,CPU负担很重。从名字上我们就能猜出它的功能(数据检测缓冲区)。

Linux内核中有一个机制模仿了显卡的这个功能,它的优点就是把显卡的硬件结构抽象出来,把所有的显卡当做一个“池子”,应用程序也可以直接读取这个池子里的内容,设备名就是/dev/fb

您可以使用以下命令:

#dd if=/dev/zero of=/dev/fb

清除屏幕。如果您的 X 正在使用驱动程序,屏幕将完全变黑。您可以通过移动鼠标、切换窗口等操作使原始内容重新出现。

如果你不使用驱动程序,你可以在字符模式下进行此测试。屏幕将被完全清除。

以下命令:

#dd if=/dev/fb 的=

您可以保存 FB 的内容并在稍后将其写回到屏幕:

#dd if= of=/dev/fb

功能类似于截图,但是截图不能用普通的图片浏览器查看。

现在您知道了 Linux 中设备的神奇之处。

在高分辨率下,Linux字符界面启动时会出现一个小企鹅的标志,这个标志是和功能一起写在屏幕上的。

VESA 和 VGA 比 FB 好很多,但是显示能力也有限,大部分显示任务还是要 CPU 来承担。

如今的显卡就不同了,CPU几乎不执行显示任务,而是专注于计算工作。我们在Linux下安装显卡驱动的时候,其实就是替换了底层。这就让它拥有了更强的显示能力。比如你的显卡是,XFree默认的驱动是“nv”,是显卡的通用驱动,但是却不能发挥出显卡的性能。这个“nv”驱动模块可以在以下位置找到:

/usr/X11R6/lib//

在目录中找到,文件名为:.o

该目录下有很多的显卡驱动模块。

.o .o .o .o

.o .o .o .o

.o .o .o .o

.o .o .o .o

.o .o .o .o

.o .o .o .o

.o Linux .o .o

.o .o .o

.o .o .o

包括 fbdev vga evsa 等。

X 使用文件部分中指定的任何驱动程序。

代码:

“”

加载“dbe”

加载 ””

这里使用 Load "" #fbdev

加载“glx”

加载 ””

加载 ””

加载“类型1”

加载“dri”

这是4.0以上版本的做法。即将X主程序与驱动模块分离。

主程序是/usr/X11R6/bin/(上部)

然后主程序启动的时候就根据配置文件决定使用哪个驱动程序。

但是在之前的版本(3.3.6)中,X主程序和驱动模块是合在一起的,所以3.3.6之前针对不同的显卡有多个版本。

另外,驱动程序等其他X服务器也与主程序集成在一起,因此同一个X服务器会有VESA、SVGA、fbdev等版本。由于这些都是轻量级的X服务器,所以这样做是为了简化结构。

4 驱动和主程序分离的好处是用户可以自己添加、升级驱动。

二维码
扫一扫在手机端查看

    Tags : xorg
本文链接:https://by928.com/5799.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线