显示服务器 - 显示管理器 - 窗口管理器结构究竟是如何工作的?

Nir*_*mik 6 display-manager

我想知道它们究竟是做什么的,它们是如何分层/结构化或相互关联的,它们的功能,它们的相互依存关系,它们的通信协议以及它们交互的时间和原因等等!

我真的很感激详细的答案,原因有两个 -

我在这部分不太好。显示服务器和所有,以及所有遇到此问题和答案的用户都可以知道一切!

谢谢!:)

joe*_*dle 9

一个X的Windows服务器提供了一个非常基本的图形环境,通常连接到显示器,鼠标和键盘。

一个显示管理器(DM)就是登录界面,它运行在它自己的X窗口服务器会话。当您登录时,DM 通常会启动一个全新的 X 会话,并且还会启动您选择的窗口管理器(或桌面环境)。

X有许多可用的窗口管理器(WM)。它们提供了处理切换和聚焦窗口、定位、调整大小和装饰(或在 twm/ratpoison/awesome 的情况下没有装饰)的基础知识。

一个桌面环境(DE)通常提供一个窗口管理器,但一堆其他的东西太多:面板,启动按钮,小程序音量,网络等,他们提供其中一切看起来相似,很容易辨认的环境,并提供GUI工具,使您无需输入终端即可执行许多管理任务。他们通常也提供显示管理器,以获得一致的端到端体验。对于 Gnome 和 KDE,还有一整套应用程序!

所以黑客可以只用一个窗口管理器就可以生存,但一般的计算机用户更喜欢桌面环境,所有东西都以熟悉的风格集成。

有趣的是,由于 Unix 的组件解耦哲学,并且由于唯一常见的必需组件是 X 窗口,您可以根据需要混合和匹配其余组件。您可以使用 Trinity KDE 的显示管理器,但要求它在您登录时运行 Fluxbox窗口管理器,然后启动 LXDE 的面板(lxpanel) 以提供一些图标、小程序和工作区寻呼机。您甚至可以运行bbkeys使用您最喜欢的键绑定来执行窗口管理操作,并在以后切换到不同的 WM 时继续使用它!:)

(如果您跳过 DM 并直接从控制台运行,则可以通过配置 in.fluxbox/startup或 in来实现这样的设置。).xinitrcstartx

最后,许多窗口管理器允许您通过菜单(有时通过右键单击桌面找到)切换到不同的窗口管理器,而无需重新启动 X 会话或丢失任何窗口!当您想尝试一些 WM 以查看您最喜欢哪一个时,这非常有用。可悲的是,现代桌面环境似乎并不关心这个很酷的功能。

某些发行版将为您提供故障安全登录,这可能会提供一个没有窗口管理器的 x 终端。从那里你可以启动一个窗口管理器,杀死它,启动一个 DE,杀死那个,启动一个新的窗口管理器等等。在 x 终端关闭之前,X 会话本身不会关闭。

  • 对相关主题的非常全面的报道,@joeytwiddle。您具有罕见的能力,可以以一种可访问的方式和易于理解的语言来构建大量信息,而无需抛出一堆指向外部文章的链接作为回复的正文。这绝对应该被接受作为答案! (2认同)