3.1 X Window图形界面概述
X Window为Linux提供美观易用的图形化操作平台,是UNIX/Linux操作系统图形化用户界面的标准,目前绝大多数在计算机上运行的Linux操作系统基本都是X Window的某个版本,Red Hat Linux 9.0采用的是XFree86-4.3.0-2版本。
1.X Window的基本原理
X Window和Windows都提供图形化用户界面,在使用上较为相似:可以处理多个窗口,可以通过鼠标、键盘等建立级联菜单、窗体和对话框等。但在结构上两者完全不同:X Window本身并不是一个操作系统,而是一个采用客户机/服务器模式,定义图形操作环境的标准。简而言之,X Window只是操作系统的一部分。X Window主要由3部分组成:X服务器(X Server)、X客户机(X Client)与X协议(X Protocol),其工作模式如图3-1所示。
图3-1 X Window的工作模式
(1)X服务器
X服务器是X Window系统的核心,主要负责接收来自输入设备(如键盘、鼠标等)的信息,并控制结果的屏幕显示(如分辨率、刷新率和颜色等)。X服务器必须在X客户机的请求下才会进行响应,创建窗口,并在窗口中显示图形和文字。
注意:每一套显示设备只对应唯一的一个X服务器。
(2)X客户机
在图形化用户界面下运行的应用程序都是X客户机(因为它是Server的客户),主要负责运行由X服务器所接收的用户的输入信息。X客户机会根据用户的需求运行,运行结束后再发出相应的请求给X服务器,然后由X服务器负责显示最终执行结果。
(3)X协议
X协议是X服务器与X客户机之间通信的一套协议。只有借助X协议,X客户机与X服务器才能相互交换信息。X协议支持目前常用的网络通信协议(如TCP/IP、DECnet等),能在本地系统和网络实现这个协议。
X服务器和X客户机之间的通信方式可分为以下两类。
●采用传统的窗口系统工作方式:X服务器和X客户机在同一台计算机上运行,两者之间通过计算机的内部通信机制来进行信息传递。
●采用X Window特有的工作方式:X服务器和X客户机分别在不同的计算机上运行,两者之间通过TCP/IP等网络协议来进行通信。充分发挥X服务器在显示上的优势以及网络计算的优势。
注意:采用X Window特有的工作方式时,系统的显示功能与应用程序的执行功能分别由不同的计算机来承担。
X Window系统的特点包括如下几点。
●X Window系统采用C/S网络结构,具有网络操作的透明性。
●支持多种不同风格的操作界面,个性化服务良好。
●X Window系统不内嵌于某一个操作系统。
●X Window系统是开源项目。
2.桌面环境
桌面环境为用户管理系统、配置系统、运行应用程序等提供了统一的操作平台,使Linux操作系统更具整体感、功能完善。目前Linux操作系统上最常用的桌面环境有两个:GNU网络对象模型环境(GNU Network Object Model Environment,GNOME)和K桌面环境(K Desktop Environment,KDE)。
GNOME基于Gtk+图形库,采用C语言开发,但也存在一些其他语句的绑定使得能够使用其他语言编写GNOME应用程序,例如C++、Java、Ruby、C#、Python、Perl等。而KDE基于Qt3图形库,采用C++语言开发。基于这两大桌面环境开发了大量的应用程序,通常以“G”开头的应用程序是在GNOME桌面环境下开发的,如gedit、GIMP,而以“K”开头的应用程序是在KDE桌面环境下开发的,如Kmail、Konqueror。这些应用程序若没有冲突均可在两种桌面环境下运行。
目前大多数Linux发行版本都同时包括上述两种桌面环境,以供用户选择。Red Hat Linux 9.0系统默认安装使用的X窗口界面就是GNOME(从GNOME的Web站点www.gnome.org上可以直接获得它的源代码)。用户也可以自行选择使用KDE桌面环境。