X Client
则是应用程序。
在运作上,
X Client
应用程序会½所想要呈现的画面告知
X Server
最终由
X server
来½½果透过他所管理的硬件绘制出来!
整体的架构我们大约可以使用如下的图示
来作个½绍:
(
2
)
23.1.1
X Window System
的架构
上面的图示非常有趣喔!我们在客户端想要取得来自服务器的图形数据时,我们客户端使用的当然是
客户端的硬设备啊,
所以,
X Server
的重点就是在管理客户端的硬件,包括½受键盘
/
鼠标等设备的
输入信息,
并且½图形绘制到屏幕上
(
请注意上图的所有组件之间的箭头指示
)
。但是到底要绘制个
啥东西呢?
绘图总是需要一些数据才能绘制吧?此时
X Client (
就是
X
应用程序
)
就很重要啦!他
主要提供的就是告知
X Server
要绘制啥东西。那照这样的想法来思考,我们是想要取得远程服务器
的绘图数据来我们的计算机上面显示嘛!
所以啰,远程服务器提供的是
X client
软件啊!
底下就让我们来更深入的聊一聊这两个组件吧!
.
X Server
:硬件管理、屏幕绘制与提供字型功能:
既然
X Window System
是要显示图形½口,因此理所当然的需要一个组件来管理我主机上面的所有
硬设备才行!
这个任务就是
X Server
所负责的。而我们在
X
发展简史当中提到的
XFree86
计划
Xorg
基½会,主要提供的就是这个
X Server
啦!那么
X Server
管理的设备主要有哪些呢?其
实与输入
/
输出有关喔!包括
键盘、鼠标、手写板、显示器
(monitor)
、屏幕分辨率与颜色深度、显
示适配器
(
包含驱动程序
)
与显示的字型
等等,都是
X Server
管理的。
咦!显示适配器、屏幕以及键盘鼠标的设定,不是在开机的时候
Linux
系统以
systemd
的相关设定
处理好了吗?
为何
X Server
还要重新设定啊?这是因为
X Window
Linux
里面½能算是『一套
很棒的软件』,
所以
X Window
有自己的配置文件,你必须要针对他的配置文件设定妥当才行。也
就是说,
Linux
的设定与
X Server
的设定不一定要相同的!因此,你在
CentOS 7
multi-user.target
想要玩图形½口时,就得要加载
X Window
需要的驱动程序才行~总之,
X Server
的主要功能就是
在管理『主机』上面的显示硬件与驱动程序。
既然
X Window System
是以透过网络取得图形½口的一个架构,那么客户端是如何取得服务器端提
供的图形画面呢?
由于服务器与客户端的硬件不可能完全相同,因此我们客户端当然不可能使用到
服务器端的硬件显示功能!
举例来说,你的客户端计算机并没有
3D
影像加速功能,那么你的画面
可能呈现出服务器端提供的
3D
加速吗?
当然不可能吧!所以啰
X Server
的目的在管理客户端的
硬设备!也就是说:『
每部客户端主机都需要安装
X Server
,而服务器端则是提供
X Client
软件,
提供客户端绘图所需要的数据数据
』。