【linux】X Server / X Client / Window manager 的关系

公冶浩慨
2023-12-01
X Window System 为什么这么优秀呢?因为他有相当优良的 X Server/X Client 设计系统。 什么是 X Server 与 X Client 呢?X 在设计的时候, 就希望可以达到多人联机进入主机利用图形界面的功能,于是他便发展出这样的一个主从架构。 这个主从架构可以让使用者在任何一部计算机以网络的方式联机到主机来操作图形界面的功能, 是一个相当棒的设计呢~不过 X Server 与 X Client 的意义则与网络上的 Server/Client 意义不同喔~底下我们就来谈一谈 X Server/X Client 的功能。
• X Server:主要负责的是屏幕画面的绘制与显示。

X Server 的主要功能 ( 不论是 Xorg 或是 XFree86 都是一个 X server 喔!) 就是在管理 X Server 所在主机上面关于显示的硬件配备啦~ 例如显示卡、屏幕分辨率、键盘形式、鼠标形式等等。如果以 Linux 上安装 X server 为例, 您会发现~咦!显示卡、屏幕以及键盘鼠标的设定,不是在开机的时候, Linux 系统以 /etc/sysconfig 目录下的 keyboard/mouse 等设定档就设好了吗? 呵呵~这是因为 X Window 在 Linux 里面仅能算是『一套很棒的软件』, 所以 X Window 有自己的设定档,您必须要针对他的设定档设定妥当才行。

X Server 还有一个重要的工作,那就是将来自输入装置(如键盘、鼠标等)的动作告知 X Client, 您晓得, X Server 既然是管理这些周边硬件,所以,周边硬件的动作当然是由 X Server 来管理的, 但是 X Server 本身并不知道接口设备这些动作会造成什么显示上的效果, 因此 X Server 会将接口设备的这些动作行为告知 X Client ,让 X Client 去伤脑筋~
• X Client:主要负责的是『事件』的处理。
前面提到的 X Server 主要是管理显示接口与在屏幕上绘图,同时将输入装置的行为告知 X Client, 此时 X Client 就会依据这个输入装置的行为来开始处理,最后 X Client 会得到『 嗯!这个输入装置的行为会产生某个图示』,然后将这个图标的显示数据回传给 X Server , X server 再根据 X Client 传来的绘图资料将他描图在自己的屏幕上,来得到显示的结果。 也就是说, X Client 最重要的工作就是处理来自 X Server 的动作,将该动作处理成为绘图数据, 再将这些绘图数据传回给 X Server.

基本上, X Server 管理的是显示卡、屏幕分辨率、鼠标按键对应等等,尤其是显示卡芯片的认识,真是重要啊。 此外,还有显示的字体也是 X Server 管理的一环。

 类似资料: