第 15 章 xwindow 及 genie 应用程序

74
第 15 第 XWindow 第 Genie 第第第第 15.1 Xwindow 15.2 XWindow 第第第 15.3 第第第第 XWindow 第15.4 第第第第第第第第第 15.5 XLinux 第第 第第第第第第 Genie 15.6 第第 第第

Upload: varick

Post on 18-Jan-2016

96 views

Category:

Documents


5 download

DESCRIPTION

第 15 章 XWindow 及 Genie 应用程序. 15.1 Xwindow 15.2 XWindow 的配置 15.3 如何启动 XWindow 系统 15.4 常用的窗口管理程序 15.5 XLinux 的系统配置应用程序 Genie 15.6 小结 习题. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 15 章   XWindow 及 Genie 应用程序

第 15 章 XWindow 及 Genie 应用程序

15.1 Xwindow

15.2 XWindow 的配置 15.3 如何启动 XWindow 系统15.4 常用的窗口管理程序15.5 XLinux 的系统配置应用程序 Genie

15.6 小结习题

Page 2: 第 15 章   XWindow 及 Genie 应用程序

本章介绍应用程序 XWindow 和 Genie 。 XWindow是一个基于窗口的图形用户界面。 20 世纪 80 年代由 MIT 发布,以后成为 UNIX / Linux 系统图形工作站事实上的工业标准,可以免费获得,支持多种硬件平台。 Genie 设置向导是网虎国际开发团队设计开发的智能型设置工具,针对繁琐的 Linux 设置程序与指令,网虎特地设计此对话式的图形设置界面,让用户对设置 Linux 的印象不再是一堆繁长难记的指令。利用 Genie 智能型设置向导,你可以轻轻松松地设置你想要的 Linux 系统。

Page 3: 第 15 章   XWindow 及 Genie 应用程序

15.1 XWindow 的工作原理XWindow 系统是一个网络窗口系统,它跟别的网络

系统一样,提供基本的通信协议和功能。 XWindow 系统通过位图化的显示构造计算机的图形界面。XWindow 系统有时候也简称 X 系统或者 X11 系统。在以后的叙述中,为了方便起见,我们将简称 XWindow 系统为 X 。值得注意的是,不要将 XWindow 系统称为 XWindows ,这是一个不恰当的称呼。

Page 4: 第 15 章   XWindow 及 Genie 应用程序

X 最初在 80 年代由 MIT( 麻省理工学院 ) 开发成功。X 的第一个商业版本—— X 版本 10( 即 X10) 在 80年代中期推出,在这以后, X 的后一个版本—— X版本 11R1 在 1987 年推出。最初的 MIT 开发团体现在已经解散,现在 X 属于 The Open Group 公司。不过 X11 通用的客户机 / 服务器操作模式一直没有改变, X11 网络通信的协议就叫 X 协议。

Page 5: 第 15 章   XWindow 及 Genie 应用程序

许多 Linux 发布系统 ( 包括 RedHat , XLinux 等 )都使用 XWindow 系统。这个 X 系统由 XFree86 Project 组织完成,它是免费的,而且支持多个操作系统平台。包含在 RedHat Linux6.0 中的 X11 版本是 XFree86 3.3.3.1 ,基于 X11R 6.3 。 XLinux1.5中包含的 X 系统版本稍新一点,是 XFree86 3.3.6 。X 的最新版本是 X11R6.4 。 XFree86 的下一个有较大变动的版本是 XFree86 4.0 。据 XFree86 组织声称, XFree86 4.0 将基于 X11R6.4 。也许读者注意到了,这里提到了 X 版本和 XFree86 版本,事实上这两者是不一样的, X 是一个标准, XFree86是 X 的一个免费实现。

Page 6: 第 15 章   XWindow 及 Genie 应用程序

XFree86 的版本号可以在 X 会话中验证。在控制台上,是按照以下方法使用的带 -showconfig 参数的 X 命令:# X -showconfigXFree86 Version 3.3.3.1/XWindow System(protocol Version 11 , revision 0 , vendor release 6300)Release Date: January 4 1999If the server is older than 6-12 months , or if your card is newerthan the above date , look for a newer version before reportingproblems.(see http://www.XFree86.Org/FAQ)

Page 7: 第 15 章   XWindow 及 Genie 应用程序

Operating System: LinuX2.0.32 i686 [ ELF ]Configured drivers:VMware: server for VMware virtual graphics adaptors(Patchlevel 0)

# X -showconfig

XFree86 Version 3.3.6/XWindow System(protocol Version 11 , revision 0 , vendor release 6300)Release Date: January 8 2000

Page 8: 第 15 章   XWindow 及 Genie 应用程序

If the server is older than 6-12 months , or if your card is newerthan the above date , look for a newer version before reportingproblems.(see http://www.XFree86.Org/FAQ)Operating System: LinuX2.2.14-1mdkmosiXi686 [ ELF ]Configured drivers:SVGA: server for SVGA graphics adaptors(Patchlevel 0):NV1 , STG2000 , RIVA 128 , RIVA TNT , RIVA TNT2 , RIVA ULTRA TNT2,

Page 9: 第 15 章   XWindow 及 Genie 应用程序

从上面的输出我们可以看到两个不同的 XFree86 版本,其中一个是 3.3.3.1 ,另一个是 3.3.6 。同时,从上面的输出还可以知道 X 服务器的发布日期、操作系统、支持的设备驱动等信息。

X 系统支持网络图形。在 X 协议中, X 应用程序称为客户。 X 客户并不直接控制显示器或者操作图形,而是与 X 服务器通信,通过 X 服务器控制显示器,也就是说,实际中的绘图和显示工作都是由 X 服务器来完成的。由 X 协议的体系结构决定, X 应用程序 ( 即 X 客户 ) 可以在网络上的任何一个地方运行,而都显示在用户面前的一台计算机上——这台计算机运行的就是 X 服务器,在这种情况下, X客户无论在什么地方,对于显示的效果是没有影响的,

Page 10: 第 15 章   XWindow 及 Genie 应用程序

或者说,对于显示是透明的。也就是说,可以在单台计算机上运行 X 服务器,从远程计算机启动多个客户——并通过本地服务器在本地显示。每个 X 客户与 X 服务器的通信叫做一个 X 会话。可以说 X 是一个网络窗口系统。实际上, X 可以在各种类型的网络上运行,包括串行拨号线路。总之, X 系统是一个客户机 / 服务器的体系结构。 X 服务器负责具体的硬件相关的绘图工作, X 客户通过网络跟 X服务器通信。 X 客户不直接操作显示硬件,而是通过 X 服务器来完成绘图工作。

Page 11: 第 15 章   XWindow 及 Genie 应用程序

15.2 XWindow 的配置15.2.1 建立 XFree86 系统XFree86 系统是 Linux 图形界面的基础。尽管不使用

X 也可以使用 Linux ,但是许多有用的应用程序需要 X 系统的支持。 X 系统也令 Linux 系统更加丰富多彩。如果在第一次安装 Linux 系统 (比如 XLinux) 时选择

了安装和配置 X11 ,则在硬盘上的 /usr/X11R6目录中可以找到 X 系统的大部分文件。如果原来系统中安装了旧版本的 X 系统,你也可以选择使用 rpm命令升级 X 系统。首先插入 XLinuxCD-ROM ,然后以 root身份加载,如下所示:# mount/dev/cdrom/mnt/cdrom

Page 12: 第 15 章   XWindow 及 Genie 应用程序

Linux 系统中, /dev/cdrom 通常是一个符号连接,指向用户实际的 CDROM 设备。

在加载了 CDROM 以后,就可以从 /mnt/cdrom/package目录下使用 rpm 命令来升级 X 系统了。在一个终端窗口或者控制台可使用如下命令:# rpm-Uvh XFree86*.rpm

这个命令将升级 XFree86软件,如果原来没有安装 X系统,则该命令将安装 XFree86软件。有关 rpm命令的具体参数,可以通过查看 rpm 的手册页获得,本书在第 10 章 Linux 系统安装部分也有详细的说明。软件安装完成后,可以在硬盘的 /usr/X11R6目录下找到许多目录,包括:

Page 13: 第 15 章   XWindow 及 Genie 应用程序

/usr/X11R6/bin 大多数 X 应用程序目录/usr/X11R6/include编程头文件和位图及像素图目录/usr/X11R6/libX 应用程序和 X 程序开发需要的 X11链接库

/usr/X11R6/manX手册页X11 的目录可能要占据 40~400 MB 的硬盘空间,具

体大小取决于安装的软件。如果安装更多其他的 XWindow管理器、编程开发库或其他 X 应用软件,则可能需要更多空间。

Page 14: 第 15 章   XWindow 及 Genie 应用程序

对于典型安装的 XFree86 系统来说,其主要组件包括多种 X 服务器 (约 10 个 ) 、各种配置文件、各种应用程序、编程用的头文件和开发链接库、字体、资源 ( 客户配置 )文件和手册页等。关于 XFree86系统配置更详细的信息,可以参考硬盘上 /usr/X11R6/lib/X11/doc目录中的 README.config文件。我们在以后也会提及到。

Page 15: 第 15 章   XWindow 及 Genie 应用程序

15.2.2 配置 XFree86 系统安装 XFree86 系统最困难、花费时间最多并且容易受挫折的步骤之一是配置 XF86Config文件。该文件最初在安装时生成。例如在 XLinux1.5安装时选择安装 X11 ,安装成功则会出现一个窗口图形界面。在升级计算机显存或者安装新的显示卡的时候,可以重新配置 XF86Config 。

一般来说,安装后生成的 XF86Config 是可用的,以后可以在原先的 XF86Config文件上修改。另一方面,如果从头开始配置 XF86Config文件,则在安装 X 以后,第一件要做的工作是阅读尽可能多的文档。有经验的用户可能从阅读最新的 XF86Config开发文档和检查 XFree86文档中关于特定硬件的文档中得到各种有用的信息。

Page 16: 第 15 章   XWindow 及 Genie 应用程序

在配置 XFree86 系统过程中,几乎所有需要的信息都可以在 /X11R6/lib/X11/doc目录中找到。你可以在这个目录下发现有关协议、开发库、应用程序和其他服务的详细信息。另一个重要的文件是 /usr/doc/HOWTO目录下的 XFree86-HOWTO文件。这个文件包含关于配置 X 系统的很有用的信息。

下面详细描述配置 XFree86 系统的大致过程。在配置 XFree86 系统之前,如果对 X很陌生,用户需要先阅读 X 和 XFree86 的手册页获得对 X 的大致了解。此外,用户还需要阅读 QuickStart.doc文件。此时,用户应该已经有了对 X 的初步了解。

Page 17: 第 15 章   XWindow 及 Genie 应用程序

然后,用户需要了解有关自己的计算机及其显卡和监视器的一些硬件细节。主要有:

· 显卡的类型、制造商、名称或型号· 显存大小· 显卡芯片组使用的时钟芯片类型· 鼠标类型 (例如 PS/2鼠标或者串口鼠标 )

· 显示器的类型、制造商、名称或型号· 显示器垂直和水平刷新频率 (如 55~ 100Hz垂直,

30~ 60Hz水平 )

· 键盘的类型

Page 18: 第 15 章   XWindow 及 Genie 应用程序

了解这些信息之后,接下来需要选择配置 XFree86系统的方法和工具并生成正确的 XF86Config文件。XFree86 的配置工具主要有以下几种:图形化的 X11 设置工具 Xconfigurator 程序、 XFree86 的 XF86Setup 程序、 XFree86 的文本模式工具 XF86Config 程序。此外,用户也可以用文本编辑器手动构造自己的 XF86Config文件。我们在后面会提到用 XLinux 带的智能配置工具 genie 程序也可以完成这项工作。

Page 19: 第 15 章   XWindow 及 Genie 应用程序

Xconfigurator 和 XF86Config 程序从控制台或者终端的命令行运行。 Xconfigurator 的优点是提供图形化的界面;而 XF86Config 在文本模式的窗口中询问一系列的问题。如果用户比较幸运,所安装的计算机的硬件将很容易在程序中找到合适的配置。但是如果这些设置无效、输入的信息不正确或者选择的 XFree86 服务器不完全支持该视频芯片组,则可能会产生各种问题。

通常来说,稍旧的显卡比新显卡要容易配置一些,原因是程序员有机会对显卡的芯片组进行处理。笔记本电脑显卡的配置可能更加艰难。如果遇到问题,较好的做法是访问互联网上的 Linux讨论组,也许能够获得某些人的帮忙。

Page 20: 第 15 章   XWindow 及 Genie 应用程序

如果不能正确的设置显卡或者显卡的型号不在 XFree86 系统的支持之列,还有一个方法就是从宣布支持该硬件的软件商处购买商业版本的 X ,比如说 Accelerate X 。或者从 XFree86源代码重新编写一个服务器 (那就从现在开始研读源代码吧 ) 。

15.2.3 XF86Config文件毫无疑问, XFree86 最重要的配置文件是 XF86Confi

g文件。该文件用于正确地配置字体、键盘、鼠标、显卡芯片组、显示器等 X 服务器的配置信息。当启动一个 X 会话时, X 服务器要搜索这个文件。 XF86Config 一般放置在 /etc/X11目录中,在别的系统中也可能在 /usr/X11R6/lib/X11目录下。

XF86Config 是一个单独的文本文件,由几部分组成:

Page 21: 第 15 章   XWindow 及 Genie 应用程序

· 文件颜色、字体或特定的软件模块的位置。· 模块要装载的特定的模块。· 服务器标志开 /关标志允许或者禁止特定的操作,如内核转储、键盘服务器关机、视频模式切换和鼠标以及键盘配置。

· 键盘键盘设置。· 指针设备指针设备 (pointers) 以及键的处理方式。· 输入输入设备,如图形板或者光笔。· 显示器指定监视器的细节和设置,如名称、水平同步与垂直同步范围以及模式行 (每种分辨率一个值,如 640×480 、 800×600 、 1024×768) 。

· 设备关于视频芯片组的详细信息,如 RAM 或者时钟芯片。

·

Page 22: 第 15 章   XWindow 及 Genie 应用程序

屏幕颜色深度 (如 8 、 16 、 24 或者 32 位 ) 、屏幕尺寸 (如 640×480 、 800×600 或 1024×768) 、虚拟屏幕尺寸等等。

值得注意的是,不要使用与自己的显卡和显示器不匹配的 XF86Config 。错误的设置 (比如错误的刷新频率 ) 可能损坏显示器。在你手动修改 XF86Config文件以前,确保你已经阅读了 README.Config ,并且明白你将要做些什么事情。

下面简要解释一下 XF86Config文件的各个部分:1. Files 部分

Page 23: 第 15 章   XWindow 及 Genie 应用程序

Section ″Files″

# RGB 数据库路径。RgbPath ″/usr/X11R6/lib/X11/rgb″

#字体目录路径,可以是文件目录路径或者 X字体服务器路径,比如说下面的“ UNIX/:-1” 。 FontPath ″UNIX/:-1″

EndSection

关于字体目录的路径,以前的版本只能是文件目录的路径。现在增加了 xfs字体服务器的支持。 xfs字体服务器的路径形式一般是“主机 /:端口”, -1表示默认端口。关于 xfs字体服务器设计和操作的详细信息,可在 /usr/doc/XFree86-doc*/xfs目录的design.ps.gz文件中找到。

Page 24: 第 15 章   XWindow 及 Genie 应用程序

xfs 的配置文件在 /etc/X11/fs目录下,文件名为 config 。该文件的 catalogue项目下包括一个字体目录列表,如下所示:catalogue =/usr/X11R6/lib/X11/fonts/misc:unscaled,

/usr/X11R6/lib/X11/fonts/75dpi:unscaled,

...

/usr/X11R6/lib/X11/fonts/Speedo,

/usr/share/fonts/default/Type1

Page 25: 第 15 章   XWindow 及 Genie 应用程序

2. ServerFlags部分Section ″ServerFlags″

# 是否 Core Dump( 用来调试 ) 。# NoTrapSignals

# 是否可以用 Ctrl-Alt-BackSpace 来结束一个 X 会话。# DontZap

# 是否可以用 Ctrl-Alt-KP-+/KP--( 这个是小键盘上的 +/-)切换显示模式。# DontZoom

EndSectionServer Flags 用于配置 XFree86 服务器允许的特殊操作。通过删除特殊标记前面的 #符号

Page 26: 第 15 章   XWindow 及 Genie 应用程序

可以启用特殊操作。一般的应用会保留 DontZap特性,因为它提供一种快速退出 X 会话的方法。如果使用的 X只支持一种分辨率模式,如 800×600像素,则可以禁止 DontZoom 特性。

3. Keyboard部分Keyboard部分通知 X 服务器希望的键盘类型以及使

用的设置,如语言类型、键盘字符布局以及制造商。4. Pointer部分Pointer部分通知 X 服务器使用的指点设备 ( 或者说鼠标 ) 的类型和键的设置。注意串口鼠标类型为 Auto ,总线鼠标为 BusMouse 。而 Device项目中 /dev/mouse 实际上是实际设备 (如 PS/2鼠标为 /dev/psauX ,串口鼠标为 /dev/ttys0) 的符号链接。

Page 27: 第 15 章   XWindow 及 Genie 应用程序

两键鼠标用户可能要启用三键模拟 ( 同时按下左右按键模拟按下中键 ) ,点击中键通常都用于粘贴文本或者图形。关于配置鼠标更详细的信息,可以参考 /usr/X11R6/X11/doc目录下的 README.mouse文件。

5. Monitor部分XF86Config文件的前几部分都容易理解,而更重要

的配置部分是 Monitor部分、 Graphics Device部分以及 Screen部分。

Monitor部分包含关于监视器的详细信息和设置,如监视器名称、水平和垂直同步范围以及关键的模式行 ( 对应每一种分辨率有一个值——如 640×480 、800×600 、 1024×768) ,了解模式行是调整 X11

Page 28: 第 15 章   XWindow 及 Genie 应用程序

显示的关键。在调试 XF86Config文件中的模式行之前要了解尽可能多的信息,请参阅 /usr/X11R6/lib/X11/doc目录下的 VideoModes.doc 和 README.Config文件。另一个好的指南是 /usr/doc/HOWTO目录下的 XFree86-Video-Timings-HOWTO 。

模式行的基本部分有 10 个不同的值 ( 从左到右 ) :· 屏幕分辨率标志,如 800×600 。· 显示频率 (MHz) 。· 屏幕上每行显示的点数。· 起始水平回扫 (SHR) 值 ( 在视频同步脉冲开始之前

的脉冲数 ) 。·

Page 29: 第 15 章   XWindow 及 Genie 应用程序

结束水平回扫 (EHR) 值 ( 同步脉冲结束 ) 。· 屏幕上可见和不可见的总点数。· 垂直显示终止 (VDE) 值 (屏幕上点的可见线个数 ) 。· 起始垂直回扫 (SVR) 值 ( 在同步脉冲开始之前的行

数 ) 。· 结束垂直回扫 (EVR) 值 ( 同步脉冲结束时的行数 ) 。· 垂直总数 (VT)( 在屏幕上可见和不可见的总行数 ) 。关于这一部分修改一定要慎重,除非十分清楚你在做什么。

Page 30: 第 15 章   XWindow 及 Genie 应用程序

6. Graphics Device部分Graphics Device部分包含有关显卡芯片组的细节,如显存和时钟芯片。注意即使用户告诉 Xconfigurator 有 2MB 显存, Xconfigurator 也会使用“ #”符号注释该选择。要正确地配置 X ,需要删除 XF86Config文件中该部分 VideoRam 设置前面的“ #”符号。关于设备标识符和选项的列表请参阅 /usr/X11R6/lib/

X11/doc目录下对应芯片组的 README文件。7. Screen部分Screen部分配置 X 服务器使用的颜色深度 (如 8 、 1

6 、 24 或者 32 位 ) 、屏幕尺寸 (如 640×480 、 800×600 或

Page 31: 第 15 章   XWindow 及 Genie 应用程序

1024×768) 和虚拟屏幕尺寸 ( 这个是可选的 ) 。其中颜色深度在用户使用 startx 命令时,可以用 -bpp选项覆盖。 startx 命令是启动 X 会话的简便途径。如果显卡和监视器支持,可以按照如下方式启动 16位颜色深度的 X 会话: # startx-bpp16Screen部分还包括用户选择的 X 服务器 ( 包括 XF86-SVGA 或者其他颜色服务器、 4 位或者 16 位颜色 XF86-VGA16 或黑白服务器 XF86-Mono) 支持的分辨率和虚拟屏幕尺寸的说明。在一个 X 会话中,用户可以通过按住 Ctrl+Alt键再按下小键盘的“ +” 或者“ -”键来切换分辨率。

Page 32: 第 15 章   XWindow 及 Genie 应用程序

15.3 如何启动 XWindow 系统启动 X 会话最简单的方法可能是使用 startx 命令,

实际上, startx 是一个 shell脚本,它传递命令行选项给 X 服务器以创建一个 X 会话。 startx 命令通常用于传递启动的颜色深度信息到 X 服务器,它还可以查找客户程序命令或者选项以运行该会话( 通常是用户目录中的 .xinitrc文件 ) 。 .xinitrc文件记录窗口管理器的使用或者其他 X 客户程序启动的细节。用户可以在 /etc/X11/Xinit目录中找到一个模板文件 xinitrc 。把该文件复制到用户主目录中并改名为 .xinitrc ,然后就可以参照它的格式进行需要的修改了。

Page 33: 第 15 章   XWindow 及 Genie 应用程序

除非在系统的 XF86Config文件中用 DefaultColordepth选项设置了特定的颜色深度,否则 startx 使用8 位颜色深度 ( 或 256色 )启动 X 会话。但是,可以通过使用 -- 和 -bpp选项传送颜色深度信息选项到服务器:该命令行将使用 16 位颜色深度启动一个 X 会话 (如果计算机的显卡和监视器支持 ) 。使用 -bpp选项传送的颜色值通常还包括 24 和 32 以设置几百万种颜色。还可以使用 startx 在一台计算机上启动多个 X11 会话,可能使用不同的窗口管理器,然后使用虚拟控制台在各个会话之间转换。 XLinux 支持最多 6 个登录屏幕和控制台,通过按下Alt+FX进行访问。这里 FX 从 F1 到 F6 。例如,如果不使用显示管理器登录到 Linux ,则处于第一个

Page 34: 第 15 章   XWindow 及 Genie 应用程序

虚拟控制台;在登录以后,按下 Alt+F2 ,则在第二个控制台显示登录提示;要返回第一个登录窗口,按下 Alt+F1;当登录到 Linux 并使用 startx启动X11 会话之后, X 使用第 7 个虚拟屏幕;因为用户从第一个虚拟屏幕启动 X ,该屏幕将不可使用,但是,可以获得另一个虚拟控制台,如第二个 ( 通过按下 Ctrl+Alt+F2) ,则用户将看到 Linux登录提示;要回到 X 会话,按下 Alt+F7 。使用该方案,可以在 X 会话和不同的文本控制台之间来回跳转。

xdm( 即 X 显示管理器 ) 是一个 X 客户程序,也是 Linux 包括的三种显示管理器之一。使用该程序在引导 Linux 时可以提供小级别的安全性。可以使用 xdm登录到 Linux 并直接进行 X 会话,可以在本地,

Page 35: 第 15 章   XWindow 及 Genie 应用程序

也可以使用远程的计算机。但是如果选择不使用显示管理器或者直接引导到 X ,可以作为 root 操作员在命令行使用带 -nodaemon选项的 xdm 命令。该命令清屏并显示 xdm登录屏。然后可以登录到 X

或者使用 Ctrl+Alt+F1退回到控制台并使用 Ctrl+C杀死守护程序。

解决使用 XFree86 的 X11安装或者其他问题的最好资源之一是 XFree86 FAQ ,它在 http://www.XFree86.org 可以找到。这个 FAQ 包含 7 个部分并解决以下问题:· 配置问题· 键盘和鼠标问题

Page 36: 第 15 章   XWindow 及 Genie 应用程序

· 显示问题· 使用字体的问题· 使用到 X(X 服务器 ) 的符号链接的配置问题· 芯片组支持补丁· 其他已知问题

注意如果在 X手册页、 FAQ 或者其他文档中找不到答案,则在 comp.so.linux.XUsenet 新闻组稍加浏览。可以邮寄问题、简单明了地指明你的 Linux软件状态以及版本还有安装的 XFree86 版本。注意如果无法访问 comp.so.linux.x 或者如果不喜欢使用 Usenet新闻阅读器查找 Linux 和 X11 的问题解答,可以将Web浏览器指向 http://www.dejanews.com 。

Page 37: 第 15 章   XWindow 及 Genie 应用程序

15.4 常用的窗口管理程序本章涵盖 XWindow 系统的各种窗口管理器。 X11 提

供基本的网络协议和绘制原语以构造用户可以使用的各种图形界面平台或者窗口管理器。这些客户程序 (如 twm) 来自 XFree86 ,同时,其他的程序(如 Carsten Haitzler 的启用 GNOME 的 EWM) 使用 Red Hat软件公司支持的 X 客户程序以提供完全的桌面环境。还包括 KDE ,它是一个类似的功能更成熟的桌面软件产品,是与商业的通用桌面环境(CDE)竞争的产品。

Page 38: 第 15 章   XWindow 及 Genie 应用程序

15.4.1 什么是窗口管理器使用 Linux 的 XFree86软件产品意味着选择自由——选择操作系统和选择计算机桌面或者 X 中的窗口外观的自由。尽管窗口管理器只是一个 X11 客户程序,读者将发现如果希望运行不同的程序、在屏幕上拖动窗口、使用图标、创建虚拟桌面、更改窗口尺寸或者定制 X 会话的工作,使用窗口管理器实际上非常必要。当然,可以运行没有窗口管理器的 X ,但是会减少许多功能。

Page 39: 第 15 章   XWindow 及 Genie 应用程序

15.4.2 GNOME

GNOME 即 GNU 网络对象模块环境,该软件由来自Red Hat软件公司和世界各地的程序员支持和开发。GNOME 备受关注,因为该软件基于 GNU GPL 发布,不像底层的图形软件库,如 KDE 的 Qt 。除了许可限制协议这一原因外, GNOME 成为 Linux图形化的 X桌面特性的重要部分,还有以下几点原因:· 该软件完全开放源码,任何人可以销售;基于该软件的商业软件无需购买软件许可。 · 允许赠送、改变和修改,无需通过集中资源控制,对于更改和发布更改没有许可的限制。· 软件支持多操作系统和外部编程语言。

Page 40: 第 15 章   XWindow 及 Genie 应用程序

· 该软件可以和任何 GNOME 可以识别的 X11 窗口管理器一起工作,如 Enlightenment 。

GNOME 是一组支持 X11桌面环境的软件库和 X11客户程序。 GNOME 可以和任何 GNOME 可以识别的窗口管理器,或者支持其面板组件和客户程序功能 (如拖放动作 ) 的窗口管理器一起工作。 GNOME 在窗口管理器启动前初始化和运行。和 KDE一样, GNOME 提供良好的用户环境,包括应用程序框架、文件管理器、面板、一组外观一致的应用程序以及会话管理,因此可在 X11 会话之间保存和恢复工作桌面。

Page 41: 第 15 章   XWindow 及 Genie 应用程序

15.5 XLinux 的系统配置应用程序 Genie 15.5.1 Genie 简介Linux 的配置基本上都是通过编辑一些文本文件来完

成。但是对于一般的用户,特别是刚接触 Linux 的用户,这种方式可能有点不便。于是各种版本的 Linux 发布都会提供一些可视化的配置程序。以 XLinux 为例, XLinux 的系统配置可以通过一个叫 Genie 的可视化程序来完成。

Genie 的配置方式主要是对话式的配置模式。在这种方式下,用户不用记忆 Linux那一堆纷繁复杂的指令,很轻松就可以完成各种设置方式,所以特别适合入门的用户,对于高级用户,有时候也是合适

Page 42: 第 15 章   XWindow 及 Genie 应用程序

的,毕竟 Linux 的各种配置文件和指令太多了,没必要把各种东西都弄得很熟悉。

Genie 可以完成硬件 (如键盘、鼠标、打印机等外设 ) 设置、时区设置、系统服务、网络服务、 XWindows配置等等。

要激活 Genie 设置向导,只需要在 shell 里键入“ genie” ,或者按 Alt+F12切换到 Genie 控制台来完成。

Genie 的预定设置项目包括以下几方面:(1) 硬件设置(2) 系统设置(3) 网络设置

Page 43: 第 15 章   XWindow 及 Genie 应用程序

使用 Genie 的时候,需要注意几点:(1) 建议在 console 模式下执行 Genie 设置向导;(2) 以 root身份执行 Genie 设置向导;(3) Genie 设有登录密码保护, Genie 的登录密码与 r

oot密码相同。如果用户连续输入 3次错误的密码,则 Genie画面将锁住 1分钟。

15.5.2 Genie 硬件设置启动 Genie 设置向导并选择 Genie 硬件设置,即可进入硬件设置窗口,如图 15.1所示, Genie 硬件设置包括鼠标设置、键盘设置、串口设置和打印机设置等。

Page 44: 第 15 章   XWindow 及 Genie 应用程序

图 15.1 硬件设置

Page 45: 第 15 章   XWindow 及 Genie 应用程序

1. 鼠标设置鼠标设置程序帮助设置机器上的鼠标。选择Mouse Setup 后按 Enter键,进入设置区。鼠标

设置程序会先检测系统的鼠标设备,在出现检测画面选择确定后按 Enter键,就可以进行鼠标型号的设置。从列表中选择你的鼠标型号,以 Logitech ps/2 mouse 为例,可以选择 Logitech MouseMan/FirstMouse(ps/2) 。选定鼠标型号后,按 Enter键接着进行。当鼠标左右键同时按下时为是否模拟鼠标第三键的设置。如果要选择鼠标左右键同时按下时模拟鼠标第三键,则选择 Emulate 3 Buttons 。

Page 46: 第 15 章   XWindow 及 Genie 应用程序

设置完成后,鼠标设置程序将重新应用配置文件使得修改生效。然后会回到 Genie主画面。

2. 键盘设置键盘设置工具用来定义键盘的映射类型。选择 Keymap Setup ,按 Enter键进入设置区。然后选择您所要的键盘定义,默认值是 us.kmap.gz ,一般来说这个默认值是合适的。

设置完成后就会生效。3. 串口设置串口设置程序主要用来检测目前串口的设置,包括 I/

O端口的设置、 IRQ 的设置和串口传输速率的设置。

Page 47: 第 15 章   XWindow 及 Genie 应用程序

选择 View 可以显示出当前状态。选择 Setup 可以设置串口。一般来说,串口的默认设置就可以正常工作。所以这

个设置工具用得并不多,特别对于初级用户。4. 打印机设置打印机设置向导可以设置本机打印机和远程打印机,

包括 UNIX打印机, Windows 网络邻居共享的打印机,以及 Novell Netware 上的打印机。

我们以设置本机上的 HP 4L打印机为例,说明打印机设置的使用方法:例: 增加打印机选择 Printer Setup|Add ,画面会有若干个选项:

Page 48: 第 15 章   XWindow 及 Genie 应用程序

LOCAL 本机打印机REMOTE远程 UNIX打印机SMB 远程 Windows 网络邻居打印机NCP 远端 Netware打印机我们选择 LOCAL ,然后进入“ Config local printe

r” 的画面,这里也有几个选项:Name 打印机名称Spool 打印机暂存文件目录 ( 用默认值就行 )

Limit 打印文件大小限制 ( 通常设为 0 ,表示无限制 )

Device 打印机设备名称Filter 打印过滤器 ( 指定 printer所使用的 Filter)

Done 完成

Page 49: 第 15 章   XWindow 及 Genie 应用程序

我们选择 Name ,按 Enter键进行设置,输入 HP4L;选择 Limit ,输入 0;选择 Device ,按 Enter进入设置区,选择打印机端口,在例子中是 lp0 , lp0即 DOS 下的 lpt1 ,这个选项不同的环境可能是不一样的;选择 Filter ,可以设置纸张大小及打印精细度;选择 Done 完成设置。

15.5.3 Genie 网络设置网络设置窗口见图 15.2 ,下面详述设置内容。

Page 50: 第 15 章   XWindow 及 Genie 应用程序

图 15.2 网络设置

Page 51: 第 15 章   XWindow 及 Genie 应用程序

Genie 的网络设置包含以下功能:系统网络设置和上网设置。

1. 系统网络设置系统网络设置用来设置、管理主机的网络环境如 (主

机名称、 IP 地址 ) 、网卡、路由器以及包过滤策略 ( 可以用 ipchains 设置 ) 。

(1) 主机信息选择 System Network Setup|host 按 Enter进入设置区。主机信息设置包括 : 网域名称、主机名称、域名服务器地址及域名查询顺序。选定选项按 Enter按照系统提示,设置相应的项,例如网域名称: xlinux.com.cn ,主机名称: genie ,域名服务器地址:192.168.0.1 。

Page 52: 第 15 章   XWindow 及 Genie 应用程序

(2) 网卡选择 System Network Setup 后,按 Enter键进入设

置区选定 interface选项。网卡信息包含 : 网卡名称、地址设置及开机是否启动。

新增网卡:System Network Setup|interface|addif 按 Enter进入,

输入设备名称后进入设置画面。选择 ipaddr 输入 IP 地址。选择 netmask 输入网络掩码,设置精灵会自动计算 network ip 及 broadcast ip 。选择 onboot选择 yes 可以使开机时自动启动网卡。离开时精灵会询问是否立即启动设置,只要回答 yes之后即可立即启动无须重开机。

Page 53: 第 15 章   XWindow 及 Genie 应用程序

修改网卡设置:System Network Setup|interface|modifyif 按 Enter进入。选择欲修改的网络设备后如同“新增网卡”步骤。删除网卡设置:System Network Setup|interface|removeif 按 Enter进入选择欲删除网卡设置。再确认是否真要删除,若回答 yes ,则该网络设置将会被删除。

(3) 路由表选择 System Network Setup 后,按 Enter键进入设

置区选定 router选项。选择 gateway 输入网关 IP 。

Page 54: 第 15 章   XWindow 及 Genie 应用程序

(4) ipchains

选择 System Network Setup 后,按 Enter键进入设置区选定 ipchains选项。这是用在有两个以上的网络卡,透过 ipchains 来做 IP-Masquerade(NAT) 及anti-spoofing 。假设 eth1 为 192.168.0.0/255.255.255.0 , eth0 为 public ip ,则选择 publicdevice ,输入 eth0 ,选择 privatenet ,输入 192.168.0.0 ,选择 netmask ,输入 255.255.255.0 。

Page 55: 第 15 章   XWindow 及 Genie 应用程序

2. 上网设置上网设置精灵可让你设置调制解调器 Modem ,通过

ISP 方便你拨接上 Internet ,你可设置多组设置文件分别连接上不同的 ISP 公司,除了可以新增各个不同的设置文件,也可删除不合时宜的设置,或是执行拨接程序连上 ISP ,以及中断连线。这里将以263.net 为例示范如何使用本设置精灵。

(1) 使用设置精灵选择Modem Setup 后,按 Enter键进入设置区:选

定 setup|Next 。输入连线设置文件名称如 263.net(请小心不可输入空格键 ) ,然后按 Enter键进入设置区,请选定 PAP 。 PAP 是 Windows 95所使用的验证方式,现在各 ISP均支持此种认证方式。下面在 password

Page 56: 第 15 章   XWindow 及 Genie 应用程序

项中输入 ISP所给定的密码。在 UserID 中输入你在ISP所登记的用户名称。 ( 注意请勿包含任何空格键 ) ,设置 Modem 的连接口为 /dev/ttyS1(COM2) ,清除 defaultroute区和 IP 输入,使用 ISP 动态给定的 IP 和路由。设置你的 Modem 上网速率为 115200 。在 Number to dial 中输入电话号码。 263.net 的电话是 2631 ,最后将光标移至 ATDT 并按下空白键将 ATDT mark 起来,选 Finish保存设置。

(2) 如何拨号上网选择Modem Setup 后,按 Enter键进入设置区,选

定 dialup 。选择你想拨接的拨号设置文件,此时选择 263.net 按 Enter键后完成拨号动作。此时你将会听到 modem 的拨号声,请稍待片刻待modem与 ISP

Page 57: 第 15 章   XWindow 及 Genie 应用程序

完成连线动作后也就完成上网的整个动作。如果还是有错,请回到设置选项调整设置,或是询问 ISP及 modem 制造商询问一些网络设置细节。

(3) 如何切断连线选择Modem Setup 后,按 Enter键进入设置区,选

定 hangup 即可。15.5.4 Genie 系统设置系统设置见图 15.3 。

Page 58: 第 15 章   XWindow 及 Genie 应用程序

图 15.3 系统设置

Page 59: 第 15 章   XWindow 及 Genie 应用程序

Genie 的系统设置包含了以下的设置功能:· 系统备份· 核心模组载入程序· 动态载入库设置· PAM 设置· 系统时间与时区设置· User/Group/Quota 设置· 使用者默认登入环境设置· 例行性事务设置· 环境变量设置工具· 系统服务启用工具

Page 60: 第 15 章   XWindow 及 Genie 应用程序

系统备份设置可以轻易地设置备份设备、备份来源、备份周期等。核心模组载入程序用于动态地载入模块,如网卡驱动

程序模块。动态载入物件设置精灵可让您设置动态载入库的目录。PAM 设置可以用来限制使用者连线的来源,上线的

时间,控制台使用者的特权以及 root登入的限制。Date/Time 设置工具帮你轻易设置系统日期时间,以

及你所在的时区。User/Group/Quota 设置工具帮你轻易新增、修改、删除、设置用户账号、组、以及设置 Quota( 用户可使用的硬盘空间 ) 等。

Page 61: 第 15 章   XWindow 及 Genie 应用程序

用户默认登入环境设置可以新增、编修、删除用户默认的登入环境。例行性事务设置精灵让你依每分、每时、每日、每周

或每月来安排周期性的工作。环境变量设置工具整合了多项系统变量的设置功能,

提供下列内容修改:· 改变系统提示符号· 设置文件名色彩· 修改账号建立时的默认配置文件

系统服务启用工具是一个操作简易的协助日常的管理工具。它可以帮助你管理系统中各服务程序在开机时启用与否。

Page 62: 第 15 章   XWindow 及 Genie 应用程序

15.5.5 Genie 动态设置项目XLinux 的 Genie 动态设置项目是使用 RPM 包装好

的文件,可以很容易地加入其他 server( 服务器 )的设置程序,“ Genie 的动态设置项目”可帮助设置其他特别的 server 功能,甚至 XWindow 的设置也可以交给它。只要在安装 XLinux 时安装了以下的套件,便可以选择相对应的 Genie 设置项目,动态地加入系统,以方便设置。

可以在 XLinux 的光盘中找到其所属的 rpm文件 ( 位于 XLinux光盘的 /package目录下 ) ,用 rpm 的方式将它安装到系统中,以下为 Genie 的动态设置项目及它们在 XLinux光盘中所属的 RPM文件名称:

Page 63: 第 15 章   XWindow 及 Genie 应用程序

· XWindow Setup

· Sendmail 设置· fetchmail 设置· 网络文件系统 (NFS) 设置· 网络文件系统服务器 (NFSD) 设置· Samba 设置· Apache 设置· Inn 设置· 网络对时协议 (NTP) 设置· 网络对时协议服务器 (NTPD) 设置安装步骤如下:

Page 64: 第 15 章   XWindow 及 Genie 应用程序

① 先将 XLinux光盘放入 CD-ROM 中,再通过以下指令将光盘驱动器挂接到文件系统中:# mount/mnt/cdrom

② 切换到光盘中的 package目录下# cd/mnt/cdrom/package

③ 用 rpm 指令安装 Genie 的动态设置项目,例如要安装 fetchmail 的 Genie 设置项目可输入以下指令: rpm-ivh [ -force ] Genie 动态设置项目 rpm文件名称注: “ -force”选项表示如果系统中已有同名软件包就替换它

Page 65: 第 15 章   XWindow 及 Genie 应用程序

例如你要安装的 Genie 动态设置项目是 fetchmail :#rpm-ivh-force-genie-fetchmail-199911251XL .noarch.rpm

genie-fetchmail ###########################

④ 把 CD-ROM 的文件格式卸下 (umount) :# umount/mnt/cdrom

⑤ 回到 Genie 的主设置画面,所安装的 Genie 动态设置项目已经被加入设置画面。按照 Genie 的默认项目使用即可。

现在,让我们介绍 Genie 的动态设置项。

Page 66: 第 15 章   XWindow 及 Genie 应用程序

(1) XWindow 设置精灵XWindow精灵帮你轻松地设置启动 X 时所需的硬件相关资料与参数。

设置时只需进行如下步骤即可:· 选定显示卡品牌,程序会自动检测· 选定显示器厂牌型号· 选定显示卡内存容量· 选定 ClockChip ,一般用默认即可· 选定显示器色彩· 选定分辨率

Page 67: 第 15 章   XWindow 及 Genie 应用程序

(2) Sendmail 设置Sendmail 设置工具可以通过修改宏文件 (sendmail.m

c)产生可靠的正确设置文件。在 Sendmail 设置中可以设置如下内容:

· 设置转信收件人 (Aliases)

· 设置主机别名· 阻挡垃圾信件· 更新设置文件,重新启动邮件服务器邮件服务器的配置是一件比较复杂的工作,如果不了

解邮件系统的工作原理,你可能觉得那些宏命令不可理解。建议认真阅读随软件包发布的文档,并向有经验的人请教。

Page 68: 第 15 章   XWindow 及 Genie 应用程序

(3) Fetchmail 设置Fetchmail 提供远端取信以供离线阅读,并提供下列

功能:· 自动侦测远端使用的协议· 利用 smtp做信件分配的工作· 多账号收信· 后台执行· 信件过滤· 信件分配· 多主机转信· 支持多种协议如 imap , pop3 , etrn 等· 支持 IPV6

Page 69: 第 15 章   XWindow 及 Genie 应用程序

· 支持 IPSec

(4) 网络文件系统服务器 (NFS) 设置NFS允许您使用远端主机中的文件,就像使用本地

机器上的文件一样。此功能是结合客户端的核心函数与服务端的 NFS 服务器来完成的,而这些经过不同的服务器和不同结构主机的文件,对客户端在使用上来说是完全透明的。

NFS 设置工具的主要功能即提供图形化操作界面,用户可以在这里方便地安装和卸除 NFS目录。

Page 70: 第 15 章   XWindow 及 Genie 应用程序

(5) 网络文件系统服务器 (NFSD) 设置这个设置工具针对 NFS 服务器端的管理设置。当你

的主机是一部可供他人使用本地文件系统的服务器时,此工具提供方便的操作界面,帮助你设置 NFS服务器。

在此工具中用户可以开放和关闭 NFS目录。(6) Samba 设置Samba 是文件服务器的一种,作用类似于 Windows

系列的网络邻居沟通来达成文件共享的功能。本程序可设置以下功能:· 设置共享的目录· 设置共享的打印机· 删除共享的目录

Page 71: 第 15 章   XWindow 及 Genie 应用程序

15.6 小结在这一章,我们主要介绍了 XWindow 系统的基本结

构和工作原理,讨论了如何建立和配置一个 XWindow 系统,以及如何使用 XWindow 系统,包括启动 XWindow 系统, XWindow 上的桌面管理器的使用,还有 XLinux自带的一个配置工具 Genie 的使用。

在这一章的学习中,希望明确几点:(1) XWindow 是一个网络图形系统,是一个客户机 /

服务器系统。其中显示部分是服务器, X 应用程序部分是客户机,所以一般来说服务器是在本地运行而客户机是在远程或者本地运行,这与一般的客户机 / 服务器模型可能有些不一样。

Page 72: 第 15 章   XWindow 及 Genie 应用程序

(2) 在 Linux 下, XWindow 系统的配置文件都是文本文件,没有注册表或者类似的东西。所有配置的改变都可以不通过工具而手动改变配置文件来完成,其效果是一样的。所以有必要了解配置文件中的指令。要记住,配置工具只是让你的工作更轻松,它并不是必需的。

(3) KDE 和 GNOME 以及其他的窗口管理程序或者窗口环境都是 XWindow 系统的客户端, XWindow 系统的服务端是不关心显示的内容的,它只根据X 客户的指令来绘图。

Page 73: 第 15 章   XWindow 及 Genie 应用程序

(4) 如果你是一个新手,在利用各种配置工具如 XLinux 的 Genie 的时候,别忘了顺便了解一下它实际上做了什么事情。它只是个工具,它能干的事情你手动也应该能干。这样才会对你的水平有促进作用。

最后需要说明的是 X 的工作非常灵活,实际上还可以在自己的工作站上安装一个 X Server ,而通过在Linux 上启动 X Client ,同样可以达到在远端显示的效果,不过服务器方却不是由服务器来运行的。

Page 74: 第 15 章   XWindow 及 Genie 应用程序

习题15-1 试着用 Genie 改变显示器的配置,然后对比 XF

reeconfig文件的变化。15-2 查阅资料,写一篇关于 X 客户端 / 服务器工作

原理的报告,要求对比 X 服务器分别安装在服务器端和客户端的两种情况下的工作模式。