我选择 2015 年度最佳搭档——是的,那是去年——是 ssh 和 tar,这是一对 Linux 命令,它们可以很好地协同工作以完成伟大的事情。今年,我对 2016 年度最佳搭档做出了不同的选择。我今年选择的最佳搭档实际上是一对程序类型——而不是特定的命令或程序。
那么,让我们欢迎 2016 年度最佳搭档:请为显示管理器 (dm) 和窗口管理器 (wm) 鼓掌。
这两个程序,无论您在 Linux GUI 桌面系统上使用哪一个,始终紧密协作,使您的 GUI 体验流畅无缝,甚至在您进入桌面之前就已如此。
显示管理器
显示管理器是一段代码,它为您的 Linux 桌面提供 GUI 登录屏幕。在您登录到 GUI 桌面后,显示管理器将控制权交给窗口管理器。当您注销桌面时,显示管理器再次获得控制权,以显示登录屏幕并等待另一次登录。
有几种显示管理器——有些是随其各自的桌面提供的。请注意,有些显示管理器并非直接与特定桌面关联。任何显示管理器都可用于您的登录屏幕,无论您使用哪个桌面。并非所有桌面都有自己的显示管理器。这就是 Linux 和编写良好的模块化代码的灵活性。
典型的桌面和显示管理器如下表所示
桌面 | 显示管理器 | 备注 |
---|---|---|
GNOME | GDM | GNOME 显示管理器 |
KDE | KDM | KDE 显示管理器(直到 Fedora 20) |
LightDM | 轻量级显示管理器 | |
LXDE | LXDM | LXDE 显示管理器 |
KDE | SDDM | 简单桌面显示管理器(Fedora 21 及以上版本) |
XDM | 默认 X Window 系统显示管理器 |
表 1:显示管理器简短列表。
安装的第一个桌面(即 GNOME、KDE 等)的显示管理器是默认的。对于 Fedora,这通常是 GDM,它是 GNOME 的显示管理器。如果未安装 GNOME,则已安装桌面的显示管理器为默认管理器。如果在安装期间选择的桌面没有默认显示管理器,则将安装并使用 GDM。如果您使用 KDE 作为桌面,则新的 SDDM(简单桌面显示管理器)将成为显示管理器。
无论哪个显示管理器在安装时配置为默认管理器,稍后安装其他桌面都不会自动更改使用的显示管理器。如果您想更改显示管理器,则必须从命令行自行更改。任何显示管理器都可以使用,无论使用哪个窗口管理器和桌面。
窗口管理器
窗口管理器的功能是管理 GUI 桌面上窗口的创建、移动和销毁。窗口管理器与 X Window 系统或较新的 Wayland 协同工作以执行这些任务。X Window 系统提供所有图形基元和函数,以生成 Linux 或 Unix 图形用户界面的图形。
窗口管理器还控制其生成的窗口的外观。这包括窗口的功能性装饰方面,例如按钮、滑块、窗口框架、弹出菜单等的外观。
与 Linux 的几乎每个其他组件一样,有许多不同的窗口管理器可供选择。以下列表仅代表可用窗口管理器的示例。
桌面 | 窗口管理器 | 备注 |
---|---|---|
Unity | Compiz | |
Fluxbox | ||
FVWM | ||
IceWM | ||
KDE | Kwin | 从 2008 年的 KDE Plasma 4 开始 |
GNOME | Metacity | GNOME 2 的默认值 |
GNOME | Mutter | 从 GNOME 3 开始的默认值 |
twm | 一个非常古老且简单的窗口管理器。某些发行版(如 Fedora)将其用作备用方案,以防没有其他窗口管理器或桌面可用。 | |
Xfce | Xfwm |
表 2:窗口管理器简短列表。
请注意,大多数窗口管理器并非直接与任何特定桌面关联。事实上,某些窗口管理器可以在没有任何类型的桌面软件(如 KDE 或 GNOME)的情况下使用,从而为用户提供简约的 GUI 体验。
我该如何处理所有这些选择?
在大多数现代发行版中,这些选择是在安装时为您做出的,并且基于您选择的桌面以及发行版打包者的偏好。桌面本身可以在某些发行版中轻松更改,并且显示管理器在许多情况下也可以更改。
在 Fedora 18 之前,更改显示管理器是通过更改 /etc/sysconfig/desktop 文件中的 PREFERRED=
行来完成的。该文件由 /etc/X11/prefdm 文件提供。如果该文件不存在,您可以创建它,添加 PREFERRED=
行(大写),其中包含首选桌面管理器的名称和路径。您也可以直接在 prefdm 文件中设置它,但该更改可能会被升级或重新安装覆盖。
现在 systemd 已成为许多发行版中的标准启动系统,您可以在 /etc/systemd/system 中设置首选显示管理器,这是基本系统启动配置所在的位置。有一个名为 display-manager.service 的符号链接 (symlink),它指向 /usr/lib/systemd/system 中的显示管理器服务单元之一。每个已安装的显示管理器在 /usr/lib/systemd/system 目录中都有一个服务单元。
要更改活动的显示管理器,请删除现有的 display-manager.service 链接,并将其替换为您要使用的链接。例如,要配置为使用 KDM 显示管理器,请使用以下命令
cd /etc/systemd/system rm display-manager.service ln -s /usr/lib/systemd/system/kdm.service display-manager.service
我最初能找到的关于更改窗口管理器的唯一信息是在 Fedora 13 部署指南 中,这显然相当陈旧,可能不再有效。我还找到了关于 wmctrl
命令的信息,顾名思义,它提供对窗口管理器的某些控制,但没有更改窗口管理器的能力。
我发现某些发行版和桌面有各种更改窗口管理器的方法。例如,GNOME 用户可以使用 gconf-editor,Puppy Linux 使用 wmswitcher
命令。
结论
与 GNU/Linux 的许多其他组件一样,有许多不同的显示管理器和窗口管理器可用。当您安装具有任何类型桌面的大多数现代发行版时,安装程序会选择要安装和激活的管理器。对于大多数用户来说,应该永远不需要更改这些选择。对于其他有不同需求或只是更喜欢冒险的用户,有许多选项和组合可供选择。只需稍作研究,您就可以做出有趣的更改。
1 条评论