window-manager – 什么是用户界面子系统,它们的组件和职责?

我试图了解负责用户界面的不同子系统,引用它们的术语以及它们的结构;到目前为止我知道有:

在顶层:

台式机? (kde,gnome等)

然后我们有:

>显示管理器(也称为桌面管理器或桌面环境)
>窗口管理器
>其他什么?

我正在将它作为一个社区维基,我希望这是一个中心的地方*所有人都知道(从用户的角度来看)关于Linux中的用户界面子系统;我想知道的是每个组成部分是什么,每个组成部分的责任是什么,即我想知道的事情如下:

>当我打开“运行应用程序”对话框时,究竟是谁负责全局快捷键,当我按下一个键来显示桌面,运行终端,最大化窗口等等时,谁是捕获并将其发送到正确的窗口;
>谁负责绘制桌面,工作空间等.
>什么是环境变量,可以提供有关这些组件的信息
>“主菜单”是子系统还是子系统的组件?

编译一个最流行的桌面/子系统列表也很不错,这些桌面/子系统在每个桌面/子系统下运行,你可以混合搭配台式机/桌面环境/窗口管理器等吗?

最后,如何判断系统上哪些桌面/子系统实际正在运行(活动?),不同的用户可以分别拥有不同的子系统吗?

最佳答案
首先,显示管理器(或DM,例如xdm,gdm,kdm)与桌面环境(或DE,例如GNOME,KDE,XFCE)不同.

显示管理器负责图形登录,并决定(或让您选择)要运行的会话.或者,如果您选择“切换用户”菜单选项,会话* s *.

桌面环境基本上是程序(显示管理器,窗口管理器,会话管理器,面板,配置工具等)和库(例如Gtk)的集合,旨在提供一致的集成环境.

窗口管理器管理窗口:放置它们的位置,移动它们,调整它们的大小,最小化/最大化它们,平铺它们等等.它还处理执行这些操作的快捷方式.在某些情况下,窗口管理器还会绘制窗口的边框,在其他情况下,此任务对于“窗口装饰器”来说是不合时宜的.

GNOME中的“运行应用程序”对话框是gnome-panel的一部分,但在另一个DE中,它可能是环境的另一部分.

谁负责绘画窗等取决于;如果有一个“合成器”在使用中(通常是窗口管理器的一部分,例如在Compiz中),那么合成器在屏幕上绘制窗口,否则(就像过去一样)它是X服务器这样做的.

主菜单由gnome-panel的一部分放在屏幕上,但所使用的数据来自/usr/share / applications /中的一堆文件(可能与您家中的等效目录相结合,用于个人更改).这些文件具有由FreeDesktop.org定义的结构(一个用于在公共基础架构上协作的不同DE的平台),因此GNOME和KDE知道相同的程序(但仍然可以以不同方式显示它们,并且在某些情况下优先考虑“本机”程序超过“外国”的).

是的,不同的用户可以使用不同的会话配置(甚至可以定义自己的会话配置).在GDM中,尝试会话下拉列表以获取可用选项.

此外,可以混合使用匹配几个组件,但这有时会导致更少的合作和失去“顺畅”的工作方式.事情得到交流的一个众所周知的例子当然是Compiz,如果你想要花哨的桌面效果,它会取代Metacity.但是还有很多其他变化可能.

转载注明原文:window-manager – 什么是用户界面子系统,它们的组件和职责? - 代码日志