走进linux图形环境1
发布时间:2005-06-04 14:40:55来源:红联作者:frog
北京信息工程学院 孟庆昌
2004-10-23
开放系统世界
本文主要介绍Linux的图形环境,包括X-Window、KDE和GNOME的概念与特点,并以红旗Linux桌面版4.0为例,介绍系统配置和KDE桌面环境的应用。
图形环境为用户使用和管理计算机系统带来很多便利。大家一般都熟悉MS Windows系统的图形界面,其实,Linux的图形系统也毫不逊色。当你花一点时间熟悉了它们的用法和特性后,就会感到很惬意。在Unix类的操作系统中,应用最广泛的、基于窗口的用户图形界面是X-Window系统,而在Linux系统上常用的桌面系统是GNOME和KDE环境。
X-Window系统
X-Window是Unix和所有类Unix (包括Linux)操作系统的标准图形接口,有时也称作Xwindow或X。X-Window是1984年在麻省理工学院 (MIT)电脑科学研究室开始开发的。X-Window系统可以在许多系统上执行。由于它和生产厂商无关,具有可移植性、对彩色处理的多样性及在网络上操作的透明性,使得X成为一个工业标准。当前的X版本是X11R6(第11版,第六次发布)。Linux系统上使用的XFree86就是基于X11R6版本。
X-Window的体系结构包括客户/服务器模型和X协议两个部分。
1. X-Window的客户/服务器模型
在X-Window系统中,X的服务程序向用户程序提供显示输出对象的能力,包括图形和字符。X服务程序处于客户程序和硬件之间,从而屏蔽了具体硬件设备的特性,客户程序只需向服务程序发送显示请求,由服务程序将显示的具体要求翻译,并传给硬件设备,最后服务程序将显示事件的结果返回给用户程序。
见附件1
图1 客户/服务器模型
图1示出了这种客户程序与服务程序之间的逻辑关系。
更具体的说,客户程序和服务程序的功能如下:
(1)X服务程序也称作显示管理器,是控制实际显示设备和输入设备的程序。它响应X客户程序的请求,直接与图形设备通信,负责打开和关闭窗口,控制字体和颜色等底层的具体操作。每一个显示设备只有一个惟一的X服务程序。
(2)X客户程序是使用系统窗口功能的一些应用程序,无法直接影响窗口或显示,它们只能请求X服务程序,并通过X服务程序提供的服务在指定的窗口中完成特定的操作。典型的“请求”通常是:“在XYZ窗口中输出字符串‘你好’”,或者“在KDE窗口中用红色从A点到B点画一条直线”。
用户可以通过以下方式使用X客户程序:系统提供(例如时钟程序)、第三方厂商提供和自己编写。
典型的X客户程序如下:
◆窗口管理器 是决定窗口外观的一种客户进程。它具有改变窗口的大小或位置、将窗口缩成图标、重新安排窗口在堆栈中的位置等功能。Linux支持多种窗口管理器,如fvwm、Kdm等。
◆桌面系统是一个客户进程,它控制桌面图标和目录的出现位置、桌面和目录选单的内容,以及控制在桌面图标、目录和选单上进行键击和拖动操作所产生的效果。桌面系统实际上集成了窗口管理器和一系列的工具。目前Linux系统两种主要的桌面系统环境是KDE和GNOME。KDE采用Kdm作为窗口管理器。
此外,还有其它的X客户程序,如xclock (一个指针式或数字式的时钟)、xclac (一个计算器,可模拟进行科学工程计算)等。
2. X协议
X-Window系统是一个分布式的应用系统。为了增强跨平台的可移植性,X的客户/服务器模型不是建立在特定的软、硬件资源之上,而是建立在X协议之上。X协议是一个抽象的应用服务协议,包括了终端的输入请求和对X服务程序发出的屏幕输出命令,不包括对底层硬件的访问和控制。X协议是X服务程序和X客户程序进行通信的途径。X客户程序通过它向X服务程序发送请求,而X服务程序通过它回送状态及一些其它的信息。真正控制终端工作的是X服务程序。
此外,X协议是建立在一些常用的传输协议之上,包括TCP/IP、 IPX/SPX和DECnet等。通过这些协议,客户和服务器之间就可能方便地对话。
总之,X是一个基于网络的图形引擎,它可以在与远端机连接、在其上运行应用的同时,在本地的图形终端上处理I/O操作。
从用户的角度看,X-Window是由两个不同的X部分组成的:应用程序接口和窗口管理器。如图2所示。
见附件2
图2 应用程序与窗口管理器的关系
(1)应用程序接口
这种接口控制应用程序的窗口运行过程,以及在选单、对话框中显示的内容。
(2)窗口管理器
窗口管理器是独立的客户程序,其功能是控制窗口移动、改变大小、打开及关闭窗口等。
因为窗口管理器不属于应用程序的部分,所以可以进行变换。由于一台机器上的所有应用程序都是在一个窗口管理器控制之下运行,因此在任何特定的时刻,窗口的工作方式都是一样的。事实上,X的窗口管理器和具体的X应用程序都是在X服务程序之外的客户程序。
GNOME桌面系统
桌面系统决定了使用操作系统时的“观感”。目前,Linux系统主要采用的两种桌面系统环境是KDE和GNOME。这两种环境各有特色,用户可以根据自己的喜好选择使用。如红旗Linux在安装时可以选择KDE工作站环境或GNOME工作站环境。
GNOME是GNU网络对象模型环境(GNU Network Object Model Environment)的缩写,它是GNU项目的一部分,是完全开放源代码的自由软件。GNOME是个用户友好的环境,它除了有出色的图形环境功能外,还提供了编程接口,允许开发人员按照自己的爱好和需要来设置窗口管理器。也就是说,GNOME与窗口管理器是相互独立的。应该注意,窗口管理器和桌面环境是两个不同的概念,对于同一个桌面环境(如GNOME)可以使用不同的窗口管理器(如twm、fvwm、Enlightenment等)。
在Red Hat Linux系统中,已经将GNOME作为默认的桌面管理器。在该系统中,使用startx命令就可以启动X-Window服务器和GNOME。其实,如果用户在安装Red Hat Linux时选择图形化登录界面,则系统初启时就同时启动它们,并提供图形化登录提示,而无需使用startx命令。
GNOME中选单的功能与Windows选单功能相同,而且使用方法也一样。但是,Linux与Windows使用的文件系统则是完全不同的。因此,二者在选单设置方面存在较大的差别。
GNOME面板中包括以下内容:主系统选单按钮、常用应用程序的快捷按钮(如文件管理器、Netscape浏览器、X终端仿真程序等)、一些小程序(如日期与时间显示、虚拟桌面分页工具等),以及应用程序显示最小化按钮等。
GNOME还提供了很多功能强大的软件,包括文本处理、图形编辑、Web浏览、多媒体工具等。利用上述主选单可运行这些程序,也可以在终端仿真窗口中输入相应的命令来启动。
对GNOME桌面系统的特性和应用本文不做详述,读者感兴趣的话可以自己查看相应资料。
下一篇我们将介绍KDE桌面系统的概念和特点,以及红旗Linux桌面版4.0系统上KDE桌面系统的主要组件和作用,配置显示设备、打印机和屏幕保护程序的步骤。
[Last edited by frog on 2005-6-4 at 15:08]