安装自定义的 GDM 主题:替换 ubuntu.css 与使用“update-alternatives --install .... gdm3.css”

安装自定义的 GDM 主题:替换 ubuntu.css 与使用“update-alternatives --install .... gdm3.css”

我通过两种方法为 Ubuntu 18.04 的 GDM 安装了自定义的 css 文件。令人惊讶的是,它们给出了不同的结果:

方法(A)

  1. 我将自定义的 GDM css 文件保存为 /usr/share/gnome-shell/theme/ubuntu.css。也就是说,我用自己的 .css 文件替换了原始的 ubuntu.css 文件,但将新文件命名为 ubuntu.css。
  2. 我按下 Alt“+”,F2然后按r“+”Return重新启动 GDM。
  3. 接下来,我按下Super+L锁定桌面。从那里,我首先能够看到 gnome-tweaks 为锁屏设置的壁纸。锁屏的小部件样式遵循我自定义的 css 文件。接下来,对于解锁屏幕,其壁纸和小部件样式遵循我自定义的 css 文件。
  4. 为了在登录屏幕上看到我自定义的 css 文件的结果,我必须重新启动系统或从当前会话注销。

方法(B)

1 我使用了这些命令:

$ sudo update-alternatives --auto gdm3.css
$ sudo update-alternatives --install /usr/share/gnome-shell/theme/gdm3.css gdm3.css /usr/share/gnome-shell/theme/mytheme/mytheme.css 11
update-alternatives: using /usr/share/gnome-shell/theme/mytheme/mytheme.css to provide /usr/share/gnome-shell/theme/gdm3.css (gdm3.css) in auto mode
$ sudo update-alternatives --config gdm3.css
There are 2 choices for the alternative gdm3.css (providing /usr/share/gnome-shell/theme/gdm3.css).

  Selection    Path                                                    Priority   Status
------------------------------------------------------------
* 0            /usr/share/gnome-shell/theme/mytheme/mytheme.css   11        auto mode
  1            /usr/share/gnome-shell/theme/mytheme/mytheme.css   11        manual mode
  2            /usr/share/gnome-shell/theme/ubuntu.css            10        manual mode

Press <enter> to keep the current choice[*], or type selection number: 
  1. 我按下Alt“+”,F2然后按r“+”Return重新启动 GDM。
  2. 接下来,我按下Super+L锁定桌面。与方法 A 不同,我无法在解锁屏幕中看到自定义 css 文件中定义的壁纸和样式;它是一个紫色屏幕,其中显示了常见的 ubuntu 解锁小部件。对于锁屏(即屏幕保护程序),它显示了由 gnome-tweaks 设置的壁纸,但其小部件样式不符合我的自定义 css 文件。
  3. 为了查看自定义 css 文件的效果是否会出现在登录屏幕上,我重新启动了系统。我很高兴地发现自定义 ccs 中定义的壁纸和样式出现在登录屏幕上。但是,登录后,按Super+L锁定桌面后,第 3 点中描述的问题仍然存在。

您能解释一下为什么方法 B 和方法 A 会产生不同的最终产品吗?具体来说,为什么方法 B 中我自定义的 css 文件中定义的样式和壁纸没有出现在解锁屏幕中,而我自定义的 css 文件中定义的小部件样式没有出现在锁定屏幕中?

答案1

在全新安装的 Ubuntu 18.04 中,

如果你观察文件/usr/share/gnome-shell/modes/ubuntu.json

{
    "parentMode": "user",
    "stylesheetName": "ubuntu.css",
    "enabledExtensions": ["[email protected]", "[email protected]"]
}

该行stylesheeName: ubuntu.css表示默认 shell 主题(即,当没有安装用户主题 gnome-shell-extension 时)使用主题文件/usr/share/gnome-shell/theme/ubuntu.css

以及您将在此文件中拥有的背景,用于unlock-screen background

因此,当您使用“方法 B”时,您需要像这样编辑该行:sylesheetName: "mytheme/mytheme.css",

相关内容