2016年度最佳搭档:显示管理器和窗口管理器

在 2015 年开源年鉴中,ssh 和 tar 获得了“最佳搭档”的荣誉。
483 位读者喜欢这篇文章。
Best couple of cats

互联网档案馆。由 Opensource.com 修改。CC BY-SA 4.0

我选择 2015 年度最佳搭档——是的,那是去年——是 sshtar,这是一对 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 的许多其他组件一样,有许多不同的显示管理器和窗口管理器可用。当您安装具有任何类型桌面的大多数现代发行版时,安装程序会选择要安装和激活的管理器。对于大多数用户来说,应该永远不需要更改这些选择。对于其他有不同需求或只是更喜欢冒险的用户,有许多选项和组合可供选择。只需稍作研究,您就可以做出有趣的更改。

资源

David Both
David Both 是一位开源软件和 GNU/Linux 倡导者、培训师、作家和演讲者。自 1996 年以来,他一直从事 Linux 和开源软件工作,自 1969 年以来一直从事计算机工作。他是“系统管理员 Linux 哲学”的坚定支持者和传播者。

1 条评论

没有 Wayland?

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。

找到完美的开源工具

项目管理、商业智能、报告等。查看这些热门项目。

© . All rights reserved.