1.6 Linux图形环境
图形环境为用户使用和管理计算机系统带来很多便利。人们一般比较熟悉Windows系统的图形界面,其实,Linux的图形系统也毫不逊色。当用户花一点时间熟悉了它们的用法和特性后,就会感到很方便。在UNIX类操作系统中,应用最广泛的基于窗口的用户图形界面是X Window系统;而在Linux系统上,常用的桌面系统是GNOME(GNU Network Object Model Environment)和KDE(K Desktop Environment)。
1.6.1 X Window系统
X Window是UNIX和所有类UNIX(包括Linux)操作系统的标准图形接口,有时也称为X Windows,X Window或者X。X Window是1984年由美国麻省理工学院(MIT)计算机科学研究室开发的。由于它是在W窗口系统之后开发成功的,故称为X系统。X Window系统可以在许多系统上运行。由于它和生产厂商无关,具有可移植性、对彩色处理的多样性,以及在网络上操作的透明性,使得X成为一个工业标准。当前的X版本是X11R6.8.2(第11版,第6次发布)。Linux系统上使用的XFree86就是基于X11R6版本的。
X Window的体系结构包括两个部分:客户-服务器模型和X协议。
1.客户-服务器模型
在X Window系统中,X的服务程序向用户程序提供显示输出对象的能力,包括图形和字符。X服务程序处于客户程序和硬件之间,从而屏蔽了具体硬件设备的特性,客户程序只需向服务程序发送显示请求,而由服务程序将显示的具体要求翻译并传给硬件设备,最后服务程序将显示事件的结果返回给用户程序。
如图1.26所示是客户-服务器模型。
图1.26 客户-服务器模型
更具体一点说,客户程序和服务程序的功能如下:
① X服务程序也称显示管理器,是控制实际显示设备和输入设备的程序。它响应X客户程序的请求,直接与图形设备通信,负责打开和关闭窗口,控制字体和颜色等底层具体操作。每一个显示设备只有一个唯一的X服务程序。
②X客户程序是使用系统窗口功能的一些应用程序。X客户程序无法直接影响窗口或显示,它们只能请求X服务程序,并通过X服务程序提供的服务在指定的窗口中完成特定的操作。典型的“请求”通常是:在XYZ窗口中输出字符串“你好”,或在KDE窗口中用红色从A点到B点画一条直线。
用户可以通过以下方式使用X客户程序:系统提供(如时钟程序)、第三方厂商提供和自己编写。
典型的X客户程序有以下两种:
①窗口管理器。它是决定窗口外观的软件,具有改变窗口大小、位置、边框和装饰,将窗口缩成图标,重新安排窗口在堆栈中的位置和启动管理其他应用程序的方法等功能。Linux支持多种窗口管理器,如MWM(Motif窗口管理器),FVWM(用于X11的虚拟窗口管理器),TWM(Tom的窗口管理器)等。
②桌面系统。它控制桌面图标和目录的出现位置、桌面和目录菜单的内容,以及控制鼠标在桌面图标、目录和菜单上操作的效果。桌面系统实际上集成了窗口管理器和一系列工具,一般包括面板(启动应用程序和显示状态)、桌面(放置数据和应用程序)、一组标准桌面工具和应用程序。目前Linux系统主要使用两种桌面环境,即KDE和GNOME。
还有其他的X客户程序,如xclock(指针式或数字式时钟),xclac(计算器,可模拟科学工程计算)等。
X Window是事件驱动的。例如,当用户单击鼠标时,X服务器检测到鼠标事件出现的位置,并把该事件发送给相应的客户程序。因此,X Window在大部分时间里处于一种等待事件发生的状态。X服务器可以处理所有的I/O资源,如鼠标输入、键盘输入以及显示屏幕等。当这些资源触发了事件,它就会根据需要把事件返回给相应的客户程序。图1.26显示了用户事件、客户程序和X服务器之间的交互作用。
2.X协议
X Window系统是一个分布式应用系统。为了增强跨平台的可移植性,X的客户-服务器模型不是建立在特定的软、硬件资源之上,而是建立在X协议之上。该协议是一个抽象的应用服务协议,不包括对底层硬件的访问和控制。它包括了终端的输入请求和对X服务程序发出的屏幕输出命令。X协议是X服务程序和X客户程序进行通信的途径。X客户程序通过它向X服务程序发送请求,而X服务程序通过它回送状态及一些其他的信息。真正控制终端工作的是X服务程序。
此外,X协议是建立在一些常用的传输协议之上的(包括TCP/IP,IPX/SPX和DECnet等)。通过这些协议,客户和服务器之间可以方便地对话。
总之,可以说X是一个基于网络的图形引擎,它可以在与远端机连接、在其上运行应用的同时,在本地的图形终端上处理I/O操作。
从用户的角度看,X Window是由两个不同的X部分组成的:应用程序接口和窗口管理器,其关系如图1.27所示。
图1.27 应用程序与窗口管理器的关系
其中,应用程序接口控制应用程序的窗口运行过程,以及在菜单、对话框中显示的内容;窗口管理器是独立的客户程序,其功能是控制窗口移动、改变大小、打开和关闭窗口等。
因为窗口管理器不属于应用程序部分,所以可以进行变换。由于一台机器上所有应用程序都是在一个窗口管理器控制之下运行的,因此在任何特定的时刻,窗口的工作方式都是一样的。事实上,X的窗口管理器和具体的X应用程序都是在X服务程序之外的客户程序。
1.6.2 GNOME桌面系统
桌面系统决定了用户使用系统时的“观感”。目前,Linux系统主要采用两种桌面系统环境是KDE和GNOME。这两种环境各有特色,用户可以根据自己的喜好选择使用,如红旗Linux在安装时,可以选择KDE或GNOME工作站环境。
GNOME是GNU网络对象模型环境(GNU Network Object Model Environment)的缩写,它是GNU项目的一部分,是完全开放源代码的自由软件。它是一个用户友好的环境,除了有出色的图形环境功能外,还提供编程接口,允许开发人员按照自己的爱好和需要来设置窗口管理器。也就是说,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桌面系统的特性和应用这里不做详述,读者可从网上查看相应资源。
1.6.3 KDE桌面系统
KDE桌面系统是1996年10月推出的,随后得到了迅速发展。2008年11月发布了KDE4.1.3版和4.2 Beta 1版。红旗Linux桌面版6.0采用稳定的KDE 3.5.10版作为标准桌面环境。KDE桌面系统主要有以下特点:
①通过图形用户界面可以完全实现对环境的配置。
②在桌面上提供一个更安全的删除文件用的垃圾箱。
③可通过鼠标安装其他文件系统,如CD ROM。
④用菜单控制终端窗口的滚动、字体、颜色和尺寸大小。
⑤实现网络透明存取。KDE提供的文件管理程序KFM也可作为WWW浏览器,可以像查看自己硬盘上的文件那样查看FTP站点的内容,可以打开和存储远程文件。
⑥完全支持鼠标的拖放操作(Drag-and-Drop)。通过把文件图标拖到相应的文本处理程序窗口中来浏览内容;如果是远程文件,会自动下载。
⑦提供帮助文件浏览器(Help View),不但可以浏览传统的用户手册,还可以浏览标准的HTML文档。
⑧提供一套自己的应用程序和上下文相关的帮助文档。
⑨提供会话管理程序(Session Manager)以记录KDE桌面系统的使用情况,保证下次进入时的环境和上次离开时一致。
图1.28是红旗Linux桌面版6.0的一个典型的KDE桌面界面。屏幕中间部分称为桌面,其中放有许多图标,如“我的文档”、“我的电脑”、“Firefox浏览器”、“回收站”等。位于屏幕底部的一个长条称为面板,利用它可以启动应用程序或在已启动的程序间切换,用户也可以自己添加其他程序图标。
图1.28 典型的KDE桌面界面
1.KDE桌面组件
实际上,KDE支持几乎所有的窗口管理器,但只有在KWM(K Window Manager)下才能最大限度地体现它的性能和特色。KWM决定了KDE桌面的外观和风格。
KDE桌面环境由面板和桌面组成。
(1)面板
屏幕底部是面板(如图1.29所示),也称K面板。可以从这里启动应用程序和在桌面上切换。它虽然看上去像Windows 2000/XP的任务栏,但配置更灵活,功能更强。面板包括“开始”菜单按钮、虚拟桌面管理器、经常使用的应用程序与桌面小程序图标,以及显示当前运行应用程序的任务条。
将鼠标悬停在某个图标上,会看到一个黄色的信息框,内容是对该图标作用的描述。
图1.29 K面板
面板上有多个按钮,从左至右其名称和作用见表1.1。
表1.1 面板按钮及其功能
(2)桌面
屏幕中间的部分是KDE桌面,上面放置了一些常用的应用程序和文件的图标,在上面双击鼠标左键可运行相应程序或打开文件,也可以拖动它们,改变其位置,或者添加/删除桌面图标。
表1.2给出了红旗Linux桌面版6.0系统默认提供的桌面图标及其作用。
表1.2 Linux 6.0系统默认提供的桌面图标及其作用
2.控制面板
利用控制面板可以方便有效地进行系统配置和管理操作,即系统基本硬件设备的配置;查看系统信息,执行系统管理任务;定制具有用户个性特色的桌面环境。
访问控制面板有两种方法:①在“开始”菜单中选择“设置→控制面板”;②双击桌面上“我的电脑”图标,打开资源管理器,选择“控制面板”。
红旗Linux桌面版6.0的控制面板如图1.30所示。
图1.30 红旗Linux桌面版6.0的控制面板
在控制面板中包括4个标签页,分别是硬件配置、系统配置、观感配置和桌面设置。单击标签页名称,将列出其中包含的配置项;双击项目图标可以调出相应的配置工具。
(1)硬件配置
如图1.30所示,硬件配置页中包括各种对计算机硬件(如声卡、显示、键盘、鼠标、网络、打印机等)配置管理的工具。表1.3列出了各硬件配置项及其功能。
表1.3 硬件配置项及其功能
(2)系统配置
系统配置项包括多个软件配置管理的工具,如表1.4所示。
表1.4 系统配置项及其功能
(3)观感配置
观感配置包括与桌面外观风格相关的配置项,如表1.5所示。
表1.5 观感配置项及其功能
(4)桌面设置
桌面设置包括与桌面行为、排列有关的配置项,如表1.6所示。
表1.6 桌面设置项及其功能
配置工具中包括很多内容和选项,有些高级选项只有少数用户才会用到,大多数情况使用默认设置即可满足一般的使用要求。