13.2. 定制图形界面

13.2.1. 选择显示管理器

显示界面仅仅提供显示空间。运行 X 服务器自身只产生空屏幕,这就需要安装 显示管理器 显示用户授权界面,并在用户登录之后启动图形桌面。现今使用最广泛的三种显示管理器是:gdm3 (GNOME 显示管理器), kdm (KDE 显示管理器) 和 lightdm (Light 显示管理器)。由于 Falcot Corp 公司的管理员选择了GNOME 桌面环境,自然就采用了 gdm3 作为显示管理器。/etc/gdm3/daemon.conf 配置文件有非常多选项(选项列表可以在/usr/share/gdm/gdm.schemas 框架文件里面找到)来控制 gdm3 显示管理器的行为。/etc/gdm3/greeter.dconf-defaults 包含有起始会话的设置(不仅仅是一个登陆窗口,它还可以限制桌面的电源管理和相关工具的使用)。请注意到一些对最终用户非常有用的设置,可以在 GNOME 控制中心来调整。

13.2.2. 选择窗口管理器

既然每个图形桌面提供自己的窗口管理器,选择了前者也就意味着选择了后者。GNOME 使用 metacity 窗口管理器,KDE 使用kwin,而Xfce (随后会提到)是 xfwm。Unix 的哲学是允许自己选择窗口管理器,但是按照推荐配置,管理员能充分利用每个项目集成而带来的优势。

回到基础 窗口管理器

Unix 传统是做一件事情就要把它做好,窗口管理器装饰当前运行程序的窗口,包括框架和标题栏。也允许减小,恢复,最大化,和隐藏窗口。大多数窗口管理器提供弹出菜单。这些弹出菜单提供了关闭窗口会话,启动新程序的方法,或者切换到其他的窗口管理器。

老式的计算机,运行重量级的图形桌面环境很吃力。这些情况下,可以使用轻量级的配置。 “Light”(或小型)窗口管理器包括 WindowMaker (在 wmaker 软件包中), Afterstep,fvwm,icewm, blackbox,fluxbox,或者 openbox。配置系统优化窗口管理器;标准的做法是将命令 x-window-manager 改为 update-alternatives --config x-window-manager

DEBIAN 特性 选择

Debian 政策列出了一系列标准命令来运行特殊命令。例如, x-window-manager 唤起窗口管理器。但是Debian 并没用将该命令指派给某个固定的窗口管理器。管理员可以选择唤起哪个管理器。

对于每种窗口管理器,相关软件包会注册 x-window-manager 命令选项连同一个相关的优先级。通过管理员显示指定,该优先级允许挑选最优的窗口管理器。

注册命令和显示配置都会唤起 update-alternatives 脚本。运行 update-alternatives --config *symbolic-command*会选择符号链接所指向的命令。 update-alternatives 脚本创建(并维护) /etc/alternatives/ 目录中的符号链接,他们反过来关联执行文件位置。随着时间的推移,软件包被安装或者卸载,或者管理员改变了配置。如果提供备选项的软件包被移除了,在剩余命令中备选项就会被自动降级。

Debian 政策中并没有列出所有的符号命令;有些Debian 软件包的维护者故意选择这种并不直接的机制,它提供了很有趣的灵活性(例子包括 x-www-browserwww-browserccc++awk,等)。

13.2.3. 菜单管理

现代桌面环境和许多窗口管理器提供用户应用程序菜单列表。为了保持菜单与实际的应用程序更新一致,每个软件包提供一个 .desktop文件放到 /usr/share/applications目录。这些文件的格式由 FreeDesktop.org:

http://standards.freedesktop.org/desktop-entry-spec/latest/

来标准化。

The applications menus can be further customized by administrators through system-wide configuration files as described by the “Desktop Menu Specification”. End-users can also customize the menus with graphical tools such as kmenuedit (in KDE), alacarte (in GNOME) or menulibre.

http://standards.freedesktop.org/menu-spec/latest/

历史 Debian 菜单系统

Historically — way before the FreeDesktop.org standards emerged — Debian had invented its own menu system where each package provided a generic description of the desired menu entries in /usr/share/menu/. This tool is still available in Debian (in the menu package) but it is only marginally useful since package maintainers are encouraged to rely on .desktop files instead.