已经使用这样的墨水空间编辑了原始process-working.svg文件,以保持原始大小为 512 x 32 px 的 svg 格式并对其进行测试。
出于自动化目的,可以使用以下脚本。
要求
首先将您喜欢的 .svg 文件 (512px X 32px) 保存process-working.svg在/tmp目录中。
libglib2.0-dev使用以下命令安装软件包
sudo apt install libglib2.0-dev
然后将以下脚本保存为纯文本文件pwsvg.sh(process-working.svg)
#!/bin/bash
source="/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource"
backup=$source.BAK
pkg=$(dpkg -l | grep libglib2.0-dev >/dev/null && echo "yes" || echo "no")
if [ "$pkg" == "no" ]
then
echo "
-------------------------------------------------------------------------------------------------------------------------------------
Sorry, the package 'libglib2.0-dev' is not installed. Install the package 'sudo apt install libglib2.0-dev' and then run this Script.
For now, Exiting...
-------------------------------------------------------------------------------------------------------------------------------------"
exit 1
fi
cd /tmp
if ! [ -f "process-working.svg" ]
then
echo "-----your preferred .svg file 'process-working.svg' not found in /tmp folder. put the process-working.svg file in /tmp directory first.-----"
exit
fi
if [ "$UID" != "0" ]
then
echo "This Script must be run with sudo"
exit 1
fi
# take backup of original resource file
if ! [ -f $backup ]
then
cp $source $backup;
fi
for a in $(gresource list $backup); do
b="${a/#\/org\/gnome\/shell\/}"
mkdir -p $(dirname $b)
gresource extract $backup $a > $b
done
mv -f process-working.svg ./theme/
FILES=$(find "theme" -type f -printf "%P\n" | xargs -i echo " <file>{}</file>")
cat <<EOF >"theme/gnome-shell-theme.gresource.xml"
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/theme">
$FILES
</gresource>
</gresources>
EOF
cd theme
glib-compile-resources gnome-shell-theme.gresource.xml
mv -f gnome-shell-theme.gresource $source
echo " Reboot to see the changes "
有问题的图像的路径被硬编码为
'resource:///org/gnome/shell/theme/process-working.svg'
,这是来自.gresource
正在使用的文件。对于登录屏幕和桌面会话,此资源文件可能不同。
假设您使用的是默认 Ubuntu 20.04
您需要
process-working.svg
从文件中编辑/替换.gresource
文件。默认 Ubuntu 20.04
/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource
文件是要编辑的文件。我已经完成了这个过程并
process-working.svg
用一些 .svg 替换了文件并陷入了登录循环。默认
process-working.svg
文件是这样的。它的属性是这样的。
svg 图像似乎有一个技巧,它是具有不同微调器的单个 svg 图像。所以我用谷歌搜索并得到了一些具有类似 gnome-shell 主题的 512 x 32 像素,并且可以成功更改微调器。
获取/创建 SVG 会花费很多时间。所以我使用了 vanilla gnome 的微调器和默认的 Yaru
雅鲁的
香草 GNOME
编辑:
已经使用这样的墨水空间编辑了原始
process-working.svg
文件,以保持原始大小为 512 x 32 px 的 svg 格式并对其进行测试。出于自动化目的,可以使用以下脚本。
要求
process-working.svg
在/tmp
目录中。libglib2.0-dev
使用以下命令安装软件包sudo apt install libglib2.0-dev
然后将以下脚本保存为纯文本文件
pwsvg.sh
(process-working.svg)运行命令
sudo bash pwsvg.sh
并重新启动。万一出现任何问题,从任何 tty 将已编辑的 gresource 文件替换为备份文件
/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource.BAK
在 Ubuntu 20.04.2 中测试
图标与它们的位置分开缓存,因此您对主题资产所做的任何更改都不会反映在该缓存更新之前......如果您从未将更新应用于系统,这有时可能需要数年时间。
幸运的是,这是强制缓存重建的方法:
如果这不起作用...
gtk-update-icon-cache
命令:希望您会看到 Yaru 的
process-working-symbolic
图标已替换为您想看到的图标?