Unix/Linux 中的 GUI 如何实际工作?

Cur*_*Guy 3 xorg gui raspberry-pi raspbian

我需要对以下问题做一些明确的解释。

  1. 什么是桌面环境?
  2. 什么是桌面管理器?
  3. 什么是显示管理器?
  4. 什么是 X 窗口系统、服务器、X11 和 Xorg?
  5. 以上之间有什么关系,哪个运行/取决于哪个?
  6. 如何检查我在 Raspbian 中使用的桌面管理器和显示管理器?

先感谢您!

the*_*fog 6

  1. 什么是桌面环境?

桌面环境将各种组件捆绑在一起,以提供常见的图形用户界面元素,例如图标、工具栏、壁纸和桌面小部件。此外,大多数桌面环境包括一组集成的应用程序和实用程序。

  1. 什么是桌面管理器?

窗口管理器 (WM) 是一种系统软件,用于在图形用户界面 (GUI) 中控制窗口系统内窗口的放置和外观。它可以是桌面环境 (DE) 的一部分,也可以独立使用。

  1. 什么是显示管理器?

显示管理器或登录管理器通常是一个图形用户界面,它在引导过程结束时代替默认 shell 显示

  1. 什么是 X 窗口系统、服务器、X11 和 Xorg?

X 为 GUI 环境提供了基本框架:在显示设备上绘制和移动窗口以及与鼠标和键盘进行交互。X 不强制要求用户界面——这是由单个程序处理的。因此,基于 X 的环境的视觉样式差异很大;不同的程序可能呈现完全不同的界面。

  1. 以上之间有什么关系,哪个运行/取决于哪个?
display manager > X > desktop
Run Code Online (Sandbox Code Playgroud)

显示管理器需要首先运行,因为它需要执行身份验证检查(登录),即如果身份验证失败,则不会显示其余的桌面系统。然后 X 运行,并将桌面环境生成为子进程。

  1. 如何检查我在 Raspbian 中使用的桌面管理器和显示管理器?

尝试检查设置

/etc/X11/default-display-manager
Run Code Online (Sandbox Code Playgroud)

  • 显示管理器是 1) **不是登录管理器** - 虽然它确实登录了一个,但它本身并不跟踪所有会话 - 通常它无法处理控制台或网络上的登录(除非您考虑 [XDMCP]( https://en.wikipedia.org/wiki/X_display_manager_(program_type)), 2) **通常**在启动过程结束时显示,大部分时间不是代替*默认外壳*而是一个*文本控制台登录*。 (2认同)
  • 在声明 *“显示管理器是登录管理器”* 和 *“代替默认外壳”* 的地方被证明是错误的 - 提到控制台只是提供了更多的上下文。:) 顺便说一句,你非常恰当地使用了 *"DM is **displayed** 而不是 (console login)"* - 控制台登录实际上也在运行(通常),但它是运行图形用户界面的终端(X, wayland...) 是活动的(在某种意义上*“显示和处理输入”*)。通过调用`chvt`(或通过键盘[Ctrl+]Alt+F*x*)可以很容易地改变它。 (2认同)