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

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

我想知道每个部分到底是做什么的,它们是如何分层/构造的,或者彼此相互关联,它们的功能,它们的相互依赖性,它们的通信协议以及它们何时和为何相互作用等等!

我会非常感激你详细的回答,原因有二:

我不太清楚这部分。显示服务器和所有,并且,所有遇到这个问题和答案的用户都可以知道一切!

谢谢你! :)

答案1

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

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

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

A桌面环境(DE) 通常提供窗口管理器,但也提供许多其他东西:面板、开始按钮、音量小程序、网络等。它们提供了一个环境,其中所有东西看起来都相似且易于识别,并提供 GUI 工具,让您无需在终端中输入即可执行许多管理任务。它们通常还提供显示管理器,以获得一致的端到端体验。对于 Gnome 和 KDE,还有一整套应用程序!

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

有趣的是,得益于 Unix 的组件分离理念,由于唯一需要的通用组件是 X windows,因此您可以根据需要混合搭配其余组件。您可以使用 Trinity KDE 的显示管理器但要求它运行 Fluxbox窗口管理器当你登录时,然后启动LXDE的控制板(lxpanel)提供一些图标、小程序和工作区分页器。您甚至可以bbkeys使用您最喜欢的键绑定来执行窗口管理操作,并在以后切换到其他 WM 时继续使用它!:)

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

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

某些发行版会为您提供故障安全登录,这可能会提供没有窗口管理器的 x 终端。从那里您可以启动窗口管理器、终止它、启动 DE、终止它、启动新的窗口管理器等。X 会话本身不会关闭,直到 x 终端关闭。

答案2

您可以通过以下链接获得部分启发:http://www.tuxfiles.org/linuxhelp/xwtf.html

关于这个主题的其他精彩读物来自维基百科:http://en.wikipedia.org/wiki/X_Window_System

希望这些资源能够给你提供一个很好的入门信息。

相关内容