Linux网络操作系统项目教程(RHEL 6.4/CentOS 6.4)(第2版)
上QQ阅读APP看书,第一时间看更新

1.8 任务8 认识X-Window 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的主要特征如下。

●X-Window System本身就是基于Client/Server的结构建立的,具有网络操作的透明性。应用程序的窗口可以显示在自己的计算机上,也可以通过网络显示在其他计算机的屏幕上。

●支持许多不同风格的操作界面。X-Window System只提供建立窗口的一个标准,至于具体的窗口形式则由窗口管理器决定。在X-Window System上可以使用各种窗口管理器。

●X-Window System 不是操作系统必需的构成部分。对操作系统而言,X-Window System只是一个可选的应用程序组件。

●X-Window System现在是开源项目,可以通过网络或者其他途径免费获得源代码。

1.8.2 子任务2 认识X-Window System的基本结构

X-Window System由3部分构成。

●X Server:控制实际的显示与输入设备。

●X Client:向X Server发出请求以完成特定的窗口操作。

●通信通道:负责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所在位置的不同,可以大致分为两种情况:

●X Server和X Client位于同一台计算机上,它们之间可以使用计算机上任何可用的进程通信方式进行交互;

●X Server和X Client位于不同的计算机上,它们之间的通信必须通过网络进行,需要相关网络协议的支持。

X-Window System提供的图形化用户界面与Windows界面非常类似,操作方法也基本相同。不过,它们对于操作系统的意义是不相同的。

Windows 的图形化用户界面是跟系统紧密相连的,如果图形化用户界面出现故障,整个计算机系统就不能正常工作。而Linux在字符界面下利用Shell命令以及相关程序和文件就能够实现系统管理、网络服务等基本功能。X-Window System图形化用户界面的出现一方面让Linux的操作更为简单方便,另一方面也为许多应用程序(如图形处理软件)提供运行环境,丰富了Linux的功能。X-Window System图形化用户界面中运行程序时如果出现故障,一般是可以正常退出的,而不会影响其他字符界面下运行的程序,也不需要重新启动计算机。目前X-Window System已经是Linux操作系统中一个不可缺少的构成部件。