gnome shell 如何从 /usr/share/gnome-shell/modes/ 知道要使用哪个配置文件?

PJ *_*ngh 6 gnome-shell

该目录/usr/share/gnome-shell/modes/包含以下配置文件,这些文件从指定的 gresource 中指定要用于 Gnome Shell 顶部栏、Dash 和锁定屏幕的样式表。

initial-setup.json
ubuntu.json
yaru.json
Run Code Online (Sandbox Code Playgroud)

gnome shell 如何知道要使用/加载这些配置文件中的哪些?

一定有地方配置了名称initial-setup, ubuntu, 或yaru吗?

UnK*_*OWn 6

它来自Ubuntu登录屏幕上的默认会话。

在此处输入图片说明

会话名称 Ubuntu -> 是一个 /usr/share/xsessions/ubuntu.desktop

其内容是

[Desktop Entry]
Name=Ubuntu
Comment=This session logs you into Ubuntu
Exec=env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --systemd --session=ubuntu
TryExec=/usr/bin/gnome-shell
Type=Application
DesktopNames=ubuntu:GNOME
X-GDM-SessionRegisters=true
X-Ubuntu-Gettext-Domain=gnome-session-3.0
Run Code Online (Sandbox Code Playgroud)

观察Exec=它设置环境变量的行

GNOME_SHELL_SESSION_MODE=ubuntu
Run Code Online (Sandbox Code Playgroud)