理解FreeBSD中的图形界面X系统

【理解FreeBSD中的图形界面X系统】对于那些熟悉其他图形环境,比如 Microsoft?Windows?或者 Mac OS?的用户来说,第一次使用 X 可能会感觉很惊讶 。尽管您不需要了解各种 X 组件的所有细节和它们是如何互相影响的; 然而,了解一些基本的知识可以让您很好地利用 X 的强大功能 。X 不是第一个为 Unix?而开发的视窗系统,但它是最流行的 。X 的原始开发团队在开发 X 之前就已经在另外一个视窗系统上工作了 。那个系统的名字叫做 “W (就是 “Window) 。X 只是罗马字母中 W 后面 的一个 。X 可以被叫做 “X, “X Window 系统, “X11, 等等 。把 X11 称做 “X Windows 可能会冒犯某些人; 查看 X(7) 可以了解更多的信息 。
X一开始就是针对网络而设计的,所以 采用了 “clIEnt-server 模型 。在 X 模型中,“X server 运行在有键盘,显示器,鼠标的计算机上 。服务器用来管理显示信息,处理来自键盘和鼠标的输入等 。每一个 X 应用程序 (比如 XTerm, 或者 Netscape? 就是一个 “client 。一个 client 给服务器发送信息,如 “Please draw a window at these coordinates, 然后服务器就返回处理信息,如 “The user just clicked on the OK button 。如果您在只有一台计算机的家里或小型办公环境中使用 FreeBSD,您就需要在同一台计算机上运行 X server和 X client 。然而,如果您有很多运行 FreeBSD 的机器,您可以在您的桌面计算机上运行 X server,而在比较高档 的服务器上运行 X 应用程序 。在这样的环境中,X server 和 X client 之间的 通信就可以通过网络来进行 。
这迷惑了一些人,因为 X 的术语和他们料想的有些不同 。他们以为 “X server 是运行在功能强大的大型机上的,而 “X client 是运行在他们桌面上的计算机上的 。记住,X server 是有键盘和显示器的那台计算机,而 X client 是那些显示窗口的程序 。并不需要 client 和 server 都运行在同一种操作系统上,或甚至运行在同一种类型的计算机上 。在 Microsoft Windows 或者 Apple 公司的 Mac OS 上运行 一个 X server 也是可以的,在它们上面也有很多免费的和商业化的应用程序 。从 FreeBSD 5.3-RELEASE 开始,随 FreeBSD 一同安装的 X 服务改成了 Xorg,它的授权同 FreeBSD 的授权类似,可以免费使用 。此外,也有一些针对 FreeBSD 的商业 X 服务器 。
X的设计哲学:很像 Unix 的设计哲学,“tools, not policy 。这就意味着 X 不会试图去规定任务应该如何去完成,而是,只给用户提供一些工具,至于决定如何使用这些工具是用户自己的 事情 。这套哲学扩展了 X,它不会规定窗口在屏幕上应该是什么样子,要如何移动鼠标,什么键应该用来切换窗体 (比如,Alt Tab按键,在 Microsoft Windows 环境中的作用), 每个窗口的工具条应该看起来像什么,他们是否应该有关闭按钮等等 。实际上,X 行使了一种叫做 “窗口管理器的应用程序的职责 。有很多这样的程序可用: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker,等等 。每一个窗口管理器 都提供了不同的界面和观感;其中一些还支持 “虚拟桌面;有一些允许您可以定制一些键来管理您的桌面; 一些有“开始 按钮,或者其他类似的设计;一些是 “可定制主题的(themeable),通过安装新的主题,可以完全改变外观 。这些以及很多其他的窗口管理器,都可以在 Ports Collection 的 x11-wm 分类目录里找到 。另外,KDE 和 GNOME 桌面环境都有他们自己的窗口管理器 与桌面集成 。每个窗口管理器也有不同的配置机制;有些需要手工来写配置文件,而另外一些则可以使用 GUI 工具来完成大部分的配置任务,至少 (Sawfish) 有一个用 Lisp 语言来写的配置 文件 。

推荐阅读