- 论坛徽章:
- 0
|
X Window System可以分为X server,X client,X protocol三部分,它采用主从C/S结构,但和我们常见的C/S结构完全相反。在X Window System中,client是执行程序的一方,在上面执行各种X程序,而server则是显示client运行程序的窗口的一方。
X server主要控制输入输出,维护字体,颜色等与图形界面显示相关的硬件与驱动程序。它接受输入设备的输入信息并传递给X client,X client将这些信息处理后所返回的信息,也由X server负责输出到输出设备(即我们所见的显示器)上。X server传递给X client的信息称为Event,主要是键盘鼠标输入和窗口状态的信息。XFree86是开放源代码的X Server,就是/usr/bin/X11/X程序.
在X Server中运行的程序称为Cient。X client传递给X server的信息则称为Request,主要是要求X server建立窗口,更改窗口大小位置或在窗口上绘图输出文字等。X client主要是完成应用程序计算处理的部分,并不接受用户的输入信息,输入信息都是输入给X server,然后由X server以Event的形式传递给X client。X client对收到的Event进行相应的处理后,如果需要输出到屏幕上或更改画面的外观等,则发出Request给X server,由X server负责显示。 X client花样繁多,DM和DE都是X Window的客户端程序,DM有gdm,kdm,xdm等,DE有gnome,kde等。低级一点的twm,Window Maker,blackbox等窗口管理器,再到最简陋的xterm,rxvt,xeyes等单个x程序都属于X Client程序。
X protocol就是X server于X client之间通信的协议了。X protocol支持现在常用的网络通信协议。如TCP/IP,可以看到X server侦听在tcp 6000端口上。 |
|