如何在 Ubuntu 20.04 中更改登录屏幕主题或背景?

Dio*_*ion 35 themes gdm login-screen css 20.04

如何更改 Ubuntu 20.04 登录屏幕主题或背景?

在之前的19.10版本中,我可以从Yaru主题下的CSS文件中更改它,但现在没有CSS文件。

UnK*_*OWn 30

在以前版本的 Ubuntu 中,自从引入 gdm3 用于登录欢迎程序以来,样式表文件可直接用于编辑。

例如:

/usr/share/gnome-shell/theme/ubuntu.css #for Ubuntu 18.04
/usr/share/gnome-shell/theme/Yaru/gnome-shell.css` #for Ubuntu 19.10
Run Code Online (Sandbox Code Playgroud)

是用作替代品的文件。

替代品的名称是gdm3.css

对于Ubuntu 20.04,相当于上面的是gdm3-theme.gresource

$ update-alternatives --config gdm3-theme.gresource   
There are 3 choices for the alternative gdm3-theme.gresource (providing /usr/share/gnome-shell/gdm3-theme.gresource).

  Selection    Path                                                           Priority   Status
------------------------------------------------------------
* 0            /usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource   15        auto mode
  1            /usr/local/share/gnome-shell/theme/focalgdm3.gresource          0         manual mode
  2            /usr/share/gnome-shell/gnome-shell-theme.gresource              10        manual mode
  3            /usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource   15        manual mode

Press <enter> to keep the current choice[*], or type selection number:
Run Code Online (Sandbox Code Playgroud)

从 Ubuntu 的核心文件中,gdm 的配置是

stylesheetName: 'gdm3.css',
themeResourceName: 'gdm3-theme.gresource',
Run Code Online (Sandbox Code Playgroud)

以上意味着需要根据上述结果编辑文件gdm3.css内的.gresource文件update-alternatives。或者安装一些其他.gresource兼容 Ubuntu 20.04 的文件。例如在上面的输出中你可以选择

.../gnome-shell/gnome-shell-theme.gresource
Run Code Online (Sandbox Code Playgroud)

作为备选。如果您信任.gresource与 Ubuntu 20.04 兼容的其他一些(外部源)文件,您可以将它们安装为替代方案并使用它。

如果要编辑,

例如,您可以提取gdm3.css并查看为登录屏幕背景配置的颜色。

一一运行以下命令

gresource extract /usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource /org/gnome/shell/theme/gdm3.css > $HOME/gdm3.css
gedit $HOME/gdm3.css
Run Code Online (Sandbox Code Playgroud)

部分内容:

#lockDialogGroup {
  background-color: #4f194c; }
Run Code Online (Sandbox Code Playgroud)

需要使用您需要的内容编辑此内容并重新编译它以创建新.gresource文件。之后,您可以安装这个新.gresource文件作为替代并选择它。

如何提取和编译?

Disclimer:此链接仅适用于 Idea。需要适当的制作和配置才能使 Ubuntu 20.04 正常工作,否则系统将变砖。请注意,这篇文章比较老,内容与 Ubuntu 20.04 有所不同。

另请注意,libglib2.0-dev编译.gresource文件需要该包。


好吧,似乎只是更改登录屏幕背景的过程很繁重,仪式?如果您想频繁更改登录屏幕的背景图像或颜色怎么办?

解决方法 1
是为了获得完全的灵活性。但如果错误编辑内容,则有破坏系统的风险。当然恢复也很容易。

解决方法 2
使用脚本更改带有图像/颜色的登录背景。

您可以focalgdm3通过命令行下载文件

wget -qO - https://github.com/PRATAP-KUMAR/focalgdm3/archive/TrailRun.tar.gz | tar zx --strip-components=1 focalgdm3-TrailRun/focalgdm3
Run Code Online (Sandbox Code Playgroud)

一旦你下载了脚本focalgdm3

确保您已安装所需的软件包libglib2.0-dev.
如果没有安装,使用命令安装

sudo apt install libglib2.0-dev
Run Code Online (Sandbox Code Playgroud)

运行以下命令将图像设置为背景..

sudo ./focalgdm3 /absolute/path/to/image
Run Code Online (Sandbox Code Playgroud)

运行以下命令将颜色设置为背景..
#aAbBcC使用任何有效的十六进制颜色代码更改)

sudo ./focalgdm3 \#aAbBcC
Run Code Online (Sandbox Code Playgroud)

要重置脚本所做的一切,请使用 root 权限运行以下命令

sudo ./focalgdm3 --reset
Run Code Online (Sandbox Code Playgroud)

  • 多谢。解决方法 2 有效。 (2认同)

Sam*_*Pan 11

简单!只需从https://github.com/thiggy01/ubuntu-20.04-change-gdm-background下载脚本, chmod +x 脚本,运行如下:

首先,安装这个包:

sudo apt install libglib2.0-dev-bin
Run Code Online (Sandbox Code Playgroud)

现在,运行脚本:

sudo ./Scriptname picturename
Run Code Online (Sandbox Code Playgroud)

恢复默认背景:

sudo ./Scriptname --restore
Run Code Online (Sandbox Code Playgroud)

这仅适用于 20.04。