makedev:
# cd /dev
# sh MAKEDEV agpgart
5.4 理解X
如果你非常熟悉使用窗口类型的操作系统,象windows,Macos,那你会发现你对X 的初
次印象会很不同。今天,象KDE 和GNOME 这样的unix 桌面环境已经变得非常流行。
5.4.1 Why X?
X 并不是针对UNIX 的第一个视窗系统,但它是最流行的。X 的最初开发团队在开发X
之前,就已经在为另一个视窗系统工作了。那个系统的名字是“W”(很明显,就是“window”)。
X 只是在罗马字母中W 后面的一个。
X 可能涉及很多的东西,象“X Window System”,“X11”和其它的一些。“X Windows”
这个概念会尽可能地避免使用;可以看看X 的联机手册了解更多信息。
5.4.2 X 客户端/服务器端模型
在X 模型中,“X server”运行在有键盘,显示器,鼠标的电脑上。Server 用来管理
显示信息,和处理来自键盘和鼠标的输入等。每个X 应用(如XTerm 或Netscape)就是一
个“client”。一个client 发送信息给服务器(如:Please draw a window at these
coordinates),然后服务器就返回处理信息(如:The user just clicked on your OK button)。
如果你在只有一台电脑的家里或小型办公环境中使用FreeBSD,你就需要在同一台电脑上运
行X server 和X client。然而,如果你有很多运行FreeBSD 的机器,你可以在你的桌面
电脑上运行X server,而在比较高档的服务器上运行X 应用程序。在这样的环境中,X server
和X client 之间的通讯就可以通过网络来进行。
这可能会使一些人搞糊涂,因为X 术语与他们所想象的有所不同。他们以为X server
是运行在大型机器上的,而X client 是运行在桌面机器上的。
第5 页FreeBSD 使用手册
正如你所记得的,X server 是用来处理显示器和键盘输入信息的,而X client 是用来
显示视窗程序的,这一点你不应当搞糊涂。
这样的设计有一个很有意思的副作用。并不需要client 和server 都运行在同一种操
作系统上,或甚至运行在同一种类型的电脑上。把它运行在Microsoft Windows 或Apple's
MacOS 上也是可以的,在它上面也有很多免费的和商业化的应用程序。
在FreeBSD 上使用的X server 叫做XFree86,在大家很熟悉的许可协议下可以免费使
用。针对FreeBSD 的商业化X server 也可以使用,你可以选择一个。
5.4.3 视窗管理器
X 的设计哲学有点象unix 的设计哲学,“tools, not policy”。这些意味着不需要命
令最终用户他们应当如何来完成他们的工作。而是,只给用户提供一些完成工作的工具,
至于如何使用这些工具那是用户自己的事情。
这种哲学大大地扩展了X,它不一定要规定这些视窗在屏幕上看起来象什么,你要如何
移动鼠标,需要使用什么键来切换窗体,每个窗体的工具条应当看起来象什么,是否应该
放关闭按钮等等。
实际上,X 只代表了叫做“Window Manager”的应用程序。有很多这样的应用程序:
AfterStep, Enlightenment, ctwm, ftwm, sawfish, twm, WindowMaker 等。这些管理器
中的每一个都提供了一个不同的界面;其中一些支持“虚拟桌面”,有一些允许你可以定
制一些键来管理你的桌面;一些用作“start”按钮;一些用作“themeable”,允许你启
用一个新桌面来改变你的桌面显示。这些视窗管理器都可以在Ports Collection 的x11-wm
中找到。另外,KDE 和GNOME 桌面环境都有它们自己的视窗管理器与桌面集成。每一个视窗
管理器也有一个不同的配置机制;一些需要你手工写入一个配置文件;其他特性的GUI 工
具能够完成绝大多数的配置任务;至少有一个配置文件需要用lisp 语言来改写,它很强大。
正如你可以想象的,这种灵活性来自价格。因为可用的选择是如此广泛,以至于很难
有这种类型的文档来指导你选择和配置一个视窗管理器。
着重点:视窗管理器的另一个特性是鼠标的焦点。每个视窗管理器如X,Microsoft
Windows 或其它一些都有一个抽象概念“焦点”,在任何一个时候只有一个窗口有焦点。有
焦点的那个窗口是你接收所有键盘输入和鼠标点击的窗口。
第6 页FreeBSD 使用手册
你通常比较熟悉一个叫做“click-to-focus”的焦点方案。这意思是你必须点击你想
要拥有焦点的窗口。窗口可能会处在屏幕的上方,即使你把鼠标移出窗口,你键盘的输入
仍然会出现在这个窗口中。你要把焦点移向另一个窗口,你必须点击它。
X 不支持一些特殊的焦点规则。而是,窗口管理器控制着在什么时候哪个窗口拥有焦点。
不同的窗口管理器支持不同的焦点方案。它们都支持点击到焦点,它们中的大多数都支持
好几个。
还有其它两个通常的焦点规则:
focus-follows-mouse
这种方式是,在鼠标指示器下面的视窗是拥有焦点的视窗。这可能不是其他视窗顶部
的视窗。你可以通过点击另一个视窗类改变焦点。习惯了这个方式后,再回到使用
click-to-focus 方式的视窗时就会感到不适应。
sloppy-focus
这种方式是对focus-follows-mouse 的一个小小的扩展。对于focus-follows-mouse,
如果你在桌面上移动鼠标,那不会有视窗会获得焦点。
如果你使用sloppy-focus 然后移动鼠标指示器,那拥有焦点的视窗将保留。你的视窗
管理器也将支持其他的方案,所以确信你已经阅读了它提供的介绍文档。
Microsoft Windows 和Apple MacOS 都有一个快速的窗口方案。应用开发员被建议确保
他们的应用程序共享一个普通的所见即所得的用户界面。在这些视窗系统之前,X 已经被设
计了很长时间了。当GUI 系统的研究还处于早期时,还没有感觉到要一个特殊的图形接口。
如果你检查一下过去十年的Windows 和MacOS GUI,你将看到在人机交互的设计上发生了
多大的变化,融入了多少新的思想。
这样的结果是你不能期望X 应用程序只拥有一个普通的界面。有很多的流行的窗口设
置,包括Athena(MIT 开发),Motif(模仿微软的),openlook 和其他一些。今天,绝大多
数比较新的X 应用程序将使用一个现代风格的窗口设计,象Qt,用来设计KDE,或GTK,用
来设计GNOME。
5.5 在XFree86 中使用字体
第7 页FreeBSD 使用手册
5.5.1 Type1 字体
XFree86 使用的默认字体不是很理想。大型的字体显得参差不齐,看起来很不专业,在
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




