1.8 任务8 认识X-W indow System
尽管大多数UNIX专业人员喜欢命令行界面,但是初学者往往更喜欢图形用户界面(GUI)。或者某些用户使用Linux的目的只是办公和娱乐,这时GUI是更好的选择。Linux提供的GUI解决方案是X-Window System。
1.8.1 子任务1 理解什么是X-Window System
X-Window System是一套工作在UNIX计算机上的优良的窗口系统,最初是麻省理工学院的一个研究项目,现在是类UNIX系统中图形用户界面的工业标准。X-Window System最重要的特征之一是它的与设备无关的结构。任何硬件只要和X协议兼容,就可以执行X程序并显示一系列包含图文的窗口,而不需要重新编译和链接。这种与设备无关的特征使得依据X标准开发的应用程序可以在不同环境下执行,因而X-Window System成为工业标准。
注意:X-Window System中的Window不要误用为Windows,因为Windows是系统名,专有名词是微软公司的注册商标。
X-Window System于1984年在麻省理工学院(MIT)开始发展,之后成为开源项目。后来成立了MIT X协会用于研究发展X-Window System和控制相关标准。现在使用的X-Window System是第l1版的第6次发行,通常称为X11R6。
提示:很多人使用计算机是从微软的Windows(视窗)操作系统开始的,但实际上,UNIX系统中使用窗口形式的GUI环境要早于微软Windows操作系统。
X-Window System的主要特征如下。
(1)X-Window System本身就是基于Client/Server的结构建立的,具有网络操作的透明性。应用程序的窗口可以显示在自己的计算机上,也可以通过网络显示在其他计算机的屏幕上。
(2)支持许多不同风格的操作界面。X-Window System只提供建立窗口的一个标准,至于具体的窗口形式则由窗口管理器决定。在X-Window System上可以使用各种窗口管理器。
(3)X-Window System不是操作系统必需的构成部分。对操作系统而言,X-Window System只是一个可选的应用程序组件。
(4)X-Window System现在是开源项目,可以通过网络或者其他途径免费获得源代码。
1.8.2 子任务2 认识X-Window System的基本结构
X-Window System由3部分构成。
(1)X Server:控制实际的显示与输入设备。
(2)X Client:向X Server发出请求以完成特定的窗口操作。
(3)通信通道:负责X Server与X Client之间的通信。
X Server是控制显示器和输入设备(主要是键盘和鼠标)的软件。X Server可以响应X Client程序的请求(request),建立窗口以及在窗口中画图形和文字。但它只有在X Client程序提出请求后才完成动作。每一套显示设备只对应一个唯一的X Server,而且X Server一般由系统的供应商提供,通常无法被用户修改。对于操作系统而言,X Server只是一个普通的应用程序而已,因此很容易被更换成新的版本,甚至是第三方提供的原始程序。
X Client是使用操作系统窗口功能的一些应用程序。在X-Window下的应用程序被称作X Client,原因是它是X Server的客户,它向X Server发出请求以完成特定的动作。X Client无法直接影响窗口或显示,它们只能发出请求给X Server,由X Server来完成它们的请求。
通信通道是X Server和X Client之间传输信息的通道,凭借这个通道,X Client传送请求给X Server,而X Server回传状态及其他一些信息给X Client。根据X Server和X Client所在位置的不同,可以大致分为以下两种情况。
(1)X Server和X Client位于同一台计算机上,它们之间可以使用计算机上任何可用的进程通信方式进行交互。
(2)X Server和X Client位于不同的计算机上,它们之间的通信必须通过网络进行,需要相关网络协议的支持。
X-Window System提供的图形化用户界面与Windows界面非常类似,操作方法也基本相同。不过,它们对于操作系统的意义是不相同的。
Windows的图形化用户界面是跟系统紧密相连的,如果图形化用户界面出现故障,整个计算机系统就不能正常工作。而Linux在字符界面下利用shell命令以及相关程序和文件就能够实现系统管理、网络服务等基本功能。X-Window System图形化用户界面的出现一方面让Linux的操作更为简单方便,另一方面也为许多应用程序(如图形处理软件)提供运行环境,丰富了Linux的功能。如果在X-Window System图形化用户界面中运行程序时出现故障,一般是可以正常退出的,而不会影响其他字符界面下运行的程序,也不需要重新启动计算机。目前X-Window System已经是Linux操作系统中一个不可缺少的构成部件。