5.2.术语

尽管无须知道所有 X Window 系统中各种组件的所有细节以及这些组件之间如何交互,但对这些组件有一些基本的了解还是很有用的。

X server

从一开始 X 就被设计成网络化的 Client-Server 模型。在这个模型中,X server运行在连接有键盘、显示器和鼠标的计算机上。服务器的职责包括管理显示器,处理来自键盘和鼠标的输入,以及处理来自其他设备(如平板电脑或视频投影仪)的输入或输出等任务。这使一些人感到困惑,因为 X 术语与他们所期望的完全相反。他们认为 X server 是楼下大厅里那台功能强大的设备,而 X client 则是位于他们办公桌上的设备。

X client

每个 X 应用程序,如 XTerm 或 Firefox,都是一个 clientclient 客户端向服务器发送消息,如“请在这些坐标处画一个窗口”,而服务器则返回消息,如“用户刚刚点击了 OK 按钮”。

在家庭或小型办公环境中,X Server 和 多台 X clients 通常运行在同一台计算机上。另外在一台性能不那么强大的计算机上运行 X Server,而在一台性能更强的计算机上运行多个 X 应用端程序也是可行的。在这种情况下,X ClientX Server 之间的通信是通过网络进行的。

窗口管理器

X 系统并不规定屏幕上的窗口应该是什么样子,如何用鼠标移动它们,该用哪些按键在窗口之间进行切换,每个窗口的标题栏看起来是什么样子,这些标题栏上面是否有关闭按钮等等。相反,X 将这一责任委托给一个独立的窗口管理器应用程序。有 几十种窗口管理器 可用。每种窗口管理器都提供了不同的外观和体验:有些支持虚拟桌面,有些允许自定义按键来管理桌面,有些有一个 Start 按钮,有些可以充当主题样式,允许完全改变桌面的外观和体验。在 Ports Collection 的 x11-wm 分类中有不同的窗口管理器可供选择。

每种窗口管理器使用不同的配置机制。有些使用手写的配置文件,而其它的则为大多数配置任务提供了图形化的工具。

桌面环境

KDE 和 GNOME 通常被认为是桌面环境,因为它们包括一整套用于执行常规桌面任务的应用程序。这些应用程序可能包括办公套件、网络浏览器和游戏。

焦点策略

窗口管理器负责确认鼠标落点位置的管理策略。这个策略提供了一些方法来选择哪个窗口收到了按键激活,并显示出哪个窗口是当前的活动窗口。

有一种管理策略被称为 click-to-focus,在这种模式下,一个窗口在接收到鼠标点击时就被激活为活动窗口。而在 focus-follows-mouse 策略中,位于鼠标指针下方的窗口就是被激活的活动窗口,通过将鼠标指向另一个窗口来改变活动窗口。如果鼠标在根窗口上,那么这个窗口就是活动窗口。另外 sloppy-focus 在模式下,如果鼠标在根窗口上方移动,那么最近一次使用的窗口仍然是活动窗口。通过这种 sloppy-focus 模式,只有当光标到达一个新的窗口区域时,活动窗口才会改变,而不是在离开当前窗口区域时就发生改变。在 click-to-focus 模式下,活动窗口是通过鼠标点击来被选中。然后该窗口可以提升并出现在所有其他窗口之前。所有的按键现在都会被作用于该窗口,即使光标已经移动到另一个窗口。

不同的窗口管理器支持不同的活动管理策略。它们都支持 click-to-focus,而且其中大多数也支持其他策略。请查阅相关窗口管理器的文档以确定哪些活动窗口管理策略可供选择。

Widgets

Widget是一个术语,指用户界面中所有可以被点击或以某种方式操作的部件。这包括按钮、复选框、单选按钮、图标和列表。Widget 软件包是一组用于创建图形应用程序的 widgets。有几个流行的 widget 软件包 ,包括 KDE 使用的 Qt,和 GNOME 使用的 GTK+。因此,应用程序会有不同的外观和体验,这取决于使用哪种 widget 软件包来创建该应用程序。