Windows 管理器、登录管理器、显示管理器、桌面环境

Windows 管理器、登录管理器、显示管理器、桌面环境

我发布了一个问题并注意到人们没有正确区分其中许多内容:Windows 管理器、登录管理器、显示管理器、桌面环境。有人可以澄清这一点,即告诉我们它们之间的区别以及它们之间的关系吗?

Xorg 属于什么类别? Gdm/Kdm/Xdm 怎么样?人们也谈论X。X是什么?

答案1

从下往上:

  • Xorg、XFree86 和 X11 是显示服务器。这将创建图形环境。
  • [gkx]dm(和其他)是显示管理器。登录管理器是一个同义词。如果系统(而不是用户)正在启动 X 并允许您登录到本地系统或网络系统,则这是系统运行的第一个 X 程序。
  • A窗口管理器控制窗口的位置和装饰。也就是说,窗口边框和控件都是装饰。其中一些是独立的(WindowMaker、sawfish、fvwm 等)。有些依赖于附带的桌面环境。
  • A桌面环境XFCE、KDE、GNOME 等应用程序套件旨在相互良好集成以提供一致的体验。

理论上(并且在实践中大多如此)这些组件中的任何一个都是可以互换的。您可以在 Xorg 上使用 GNOME 和 WindowMaker 来运行 kmail。

答案2

如果你尝试一下,就会很清楚:

在 中/etc/rc2.d,您将找到一些文件,这些文件是计算机启动时应执行的操作的说明。

gdm如果您使用 GNOME,请查找名称中包含 的文件,然后将S(名称的第一个字母)替换为小写的s。 (GDM 就像您可能已经猜到的 GNOME 显示管理器一样。如果您使用其他套件,当然,找出它使用的显示管理器,然后以相同的方式禁用它。)

现在,重新启动计算机,您会发现登录屏幕不再显示。结论 1:没有显示管理器,没有登录屏幕。

相反,您将登录到控制台。现在,尝试播放电影(或执行任何与图形相关的操作)。行不通!这是因为 X 没有运行。结论2:没有X,就没有图形。

第三步,启动 X:通过键入xinit,根据您的~/.xinitrc文件,可能会启动一组应用程序。但是,为了说明这一点,请尝试仅使用终端(例如 urxvt)运行 X。因此,输入urxvt.xinitrc注释掉(使用#)其他所有内容,然后键入xinit

您现在应该看到该urxvt窗口。在这里,您可以播放电影等。但是,我们将urxvt窗口移到其他地方。做不到。结论 3:没有窗口管理器,没有您可能习惯的常用 GUI 功能。因此,exit输入urxvt. (该命令将退出终端,但是,由于这是按照 中指定的唯一运行的进程.xinitrc,X 也将终止。)

最后一步,.xinitrc再次修改:

urxvt &
metacity

(请注意,&因此进程将同时运行)

再次运行 X 并查看结果。谜题的最后一部分:metacity,一个窗口管理器。

要退出,请输入pkill -9 metacity. (在此情况下,urxvt 也将终止,可能是因为,由于它在后台运行(使用&),metacity 是 X 监视器的唯一进程。)

祝你好运。也许,您会陷入一些细节,但为了获得理解这是值得的。

答案3

@bahamat 这个问题的答案已经完成。但是,我添加了更多术语的定义,因为这个问题首先出现在相关的谷歌搜索中:

  • X窗口系统(又名 X11):一种网络协议,对图形基元、图像、指针运动和按键等内容进行编码。
  • X 显示服务器(例如Xorg和XFree86):X服务器实现X11并提供键盘、鼠标和显卡的接口。
  • X 显示管理器(例如 SDDM、GDM 和 LightDM):图形登录管理器,可从同一台或另一台计算机在 X 服务器上启动会话
  • 小部件/GUI 工具包/框架/库(例如 GTK+ 和 Qt):提供按钮、滚动条、编辑框等内容。
  • 窗口管理器(例如Metacity和Compiz):装饰X窗口基元并支持各种操作,例如窗口的移动、调整大小和最大化。
  • 桌面环境(例如 GNOME、KDE、XFCE 和 LXDE):提供应用程序使用和遵循的库和规范,以便与其他应用程序“和谐相处”。

参考:

https://superuser.com/questions/291298/window-manager-vs-desktop-environment-vs-window-system-whats-the-difference

答案4

用一句话来说:您的显示管理器创建了一个漂亮的图形显示,您可以在其中使用登录管理器登录到您的 X 会话,这将启动窗口管理器并可能启动桌面管理器。

相关内容