关于 gnome-session,什么是“组件”?

Ali*_*ton 5 gnome session gnome-session

在 /usr/share/gnome-session/sessions 下是描述 gnome-session 可用的不同类型会话的文件。在这些文件中是所需组件的列表,例如 shell:

RequiredComponents=gnome-shell;gnome-settings-daemon;
Run Code Online (Sandbox Code Playgroud)

或回退:

RequiredComponents=gnome-panel;gnome-settings-daemon;
Run Code Online (Sandbox Code Playgroud)

这似乎是一个可执行文件列表,但实际上不是。如果我将 gnome-panel 更改为其他类型的面板,会话不会启动,并且我在 ~/.xsession-errors 中看到以下错误:

gnome-session[2003]:警告:无法找到所需的组件“xfce4-panel”

所以我的问题是:什么是组件,它们是如何定义的,以及 gnome-session 在哪里寻找它们?

Ali*_*ton 4

组件像普通应用程序一样在 .desktop 中定义。它还必须包含一个定义其提供的组件名称的键,例如:

X-GNOME-Provides=panel
Run Code Online (Sandbox Code Playgroud)

这里的“面板”是组件的名称。

这记录在https://wiki.gnome.org/Projects/SessionManagement/RequiredComponents