![Linux 桌面环境的组件](https://linux22.com/image/214837/Linux%20%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83%E7%9A%84%E7%BB%84%E4%BB%B6.png)
我对 Linux 相当陌生,发现桌面环境的整个概念非常扭曲,充满噪音和混乱,没有真正的清晰度......
我试图完全理解桌面环境的各个方面是如何工作的,以便从所有方面为我构建完美的桌面环境。
经过大量研究后,我想我终于开始更好地理解事情了,但如果有人能让我知道我创建的这个图表是否走在正确的轨道上,我将不胜感激。
我的理解是桌面环境是建立在窗口管理器之上的,它通过(例如x11)直接与显示服务器(例如xorg)通信。因此,窗口管理器允许您通过 GUI 将各种窗口放置在屏幕上,但完整的桌面环境具有更多功能。换句话说,窗口管理器是“桌面”的一个非常简单且更基本的版本 - 因为它基本上绘制应用程序窗口,您有右键单击上下文菜单和其他一些东西。
从这里开始,桌面环境建立在面板管理器、开始栏(包含通知、系统托盘图标、开始菜单等)、文件管理器(例如 Windows 中的文件资源管理器)、设置管理器(控制面板)等基础上。风格的软件)和其他 GUI 应用程序。
当您启动 PC 时,首先发生的事情(就 GUI 而言,假设没有安装 Plymouth 之类的东西)将启动显示管理器,例如 LightDM,它实际上更像是一个登录管理器,但是称为显示管理器。一旦您登录,就会启动指定的会话管理器,而会话管理器负责启动所有其他组件。
从技术上讲,没有什么可以阻止我混合和匹配各种组件,例如 KDE 会话管理器与 XFCE 桌面,但我需要额外的 KDE 依赖项才能做到这一点。这一切都是正确的吗?如果这是正确的,那么这个xfdesktop
包的作用是什么?这是以某种方式将 DE 中的所有内容整合在一起,还是窗口管理器的工作?
这份清单中还有我遗漏的东西吗?感觉好像我的理解中缺少一些东西,或者还有一些我尚未意识到的其他组成部分。非常感谢任何回复。
先感谢您。
答案1
您的四个问题都没有正确答案。
不同的桌面环境可能(并且确实)完全不同。您建议的组件之间没有明确的界限,在某些情况下,它们甚至不是单独的组件。
例如,在 Gnome 中,“绘制窗口”、“面板”和许多其他东西的程序是相同的二进制文件:gnome-shell。
让事情变得更复杂的是,您所描述的似乎有点类似于 X11/xorg 下的工作方式,但是基于 Wayland 的桌面不再是这种情况,因为那里没有“显示服务器”。
由于这些和许多其他原因,除了依赖性之外,“混合和匹配”组件并不总是可能的。