在 14.04 中,登录屏幕的背景上有一种非常漂亮的石头纹理。该纹理位于磁盘上的哪个位置?我搜索了 unity 问候程序包。
答案1
您使用 Unity 还是 Gnome?
您似乎指的是 gnome-shell gdm login 的“噪音”背景 - 如果是这个,它是通过添加/usr/share/gnome-shell/theme/noise-texture.png
带有灰色背景的文件以某种方式构建的......我认为它在/usr/share/gnome-shell/theme/gnome-shell.css
:
background: #2e3436 url(noise-texture.png);
答案2
(在 Ubuntu Gnome Shell 16.04+ 上测试)
两种方法。如果你想知道你到底在做什么,请按照解决方案 #1。如果您希望一个脚本为您完成所有工作,请遵循解决方案 #2(它所做的一切都是自动化解决方案 #1)
解决方案 1
背景信息:Gnome 登录背景不是您可以直接更改的参数(奇怪!)。它存在于 Gnome Shell CSS 文件中,该文件存在于二进制文件中。因此,您必须提取二进制文件,对其进行修改,然后用旧文件替换新二进制文件。
步骤 1:提取 Gnome shell 二进制文件
运行以下脚本extractgst.sh
将 Gnome shell 主题提取到~/shell-theme
目录
#!/bin/sh
workdir=${HOME}/shell-theme
if [ ! -d ${workdir}/theme ]; then
mkdir -p ${workdir}/theme
fi
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource
for r in `gresource list $gst`; do
gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/}
done
Step2:修改内容
- 将您的背景图像复制到此文件夹
~/shell-theme/theme
。 - 创建
~/shell-theme/theme/gnome-shell-theme.gresource.xml
内容。 - 用背景图像文件名替换文件名
现在,打开
gnome-shell.css
目录中的文件并更改定义#lockDialogGroup
如下:#lockDialogGroup { background: #2e3436 url(filename); background-size: [WIDTH]px [HEIGHT]px; background-repeat: no-repeat; }
将文件名设置为背景图像的名称,并将背景大小设置为您的分辨率。
步骤3:创建新的二进制文件并替换现有的
在主题目录中,运行
glib-compile-resources gnome-shell-theme.gresource.xml
您将获得一个二进制文件。将其复制到
/usr/share/gnome-shell
现在使用以下命令重新启动 GDM
service gdm restart
如果它不起作用或卡住了,请重新启动计算机以查看新的登录壁纸:))
解决方案 2
好的,正如承诺的那样,有一种更简单的方法可以自动化所有这些。只需将此脚本保存为login-background.sh
WORKDIR=~/tmp/gdm-login-background
GST=/usr/share/gnome-shell/gnome-shell-theme.gresource
GSTRES=$(basename $GST)
mkdir -p $WORKDIR
cd $WORKDIR
mkdir theme
for r in `gresource list $GST`; do
gresource extract $GST $r >$WORKDIR$(echo $r | sed -e 's/^\/org\/gnome\/shell\//\//g')
done
cd theme
cp "$IMAGE" ./
echo "
#lockDialogGroup {
background: #2e3436 url(resource:///org/gnome/shell/theme/$(basename $IMAGE));
background-size: cover;
background-repeat: no-repeat;
}" >>gnome-shell.css
echo '<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/theme">' >"${GSTRES}.xml"
for r in `ls *.*`; do
echo " <file>$r</file>" >>"${GSTRES}.xml"
done
echo ' </gresource>
</gresources>' >>"${GSTRES}.xml"
glib-compile-resources "${GSTRES}.xml"
sudo mv "/usr/share/gnome-shell/$GSTRES" "/usr/share/gnome-shell/${GSTRES}.backup"
sudo mv "$GSTRES" /usr/share/gnome-shell/
rm -r $WORKDIR
if [ "$CREATED_TMP" = "1" ]; then
rm -r ~/tmp
fi
使用运行脚本
IMAGE=~/Bat.jpg sh login-background.sh
现在使用重新启动 gdmservice gdm restart
或重新启动笔记本电脑以获取新的登录背景 :))
答案3
请查看目录:
/usr/share/xgreeters/
,
/usr/share/backgrounds
或者
/usr/share/unity-greeter