如何更改 20.04 默认微调器

如何更改 20.04 默认微调器

在此处输入图片描述

请注意“Thunderbird Mail”文本旁边的旋转器。我替换了旋转器图标

usr > share > icons > Yaru

scalable-max-32 > status

以及

scalable > status

两个图标都有名称process-working-symbolic

即使在那之后,我到处都可以看到这个旧的旋转器。是否可以将其更改为我们选择的图标?谢谢。

答案1

所讨论的图像的路径是硬编码的,'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 的 spinner 和默认的 Yaru

雅鲁 在此处输入图片描述

原版 GNOME 在此处输入图片描述

编辑:

为了测试目的,已经用 inkspace 编辑了原始process-working.svg文件,保持原始尺寸 512 x 32 像素和 svg 格式并进行了测试。

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

为了实现自动化目的,可以使用以下脚本。

要求

  1. 首先将您喜欢的 .svg 文件 (512px X 32px) 保存process-working.svg/tmp目录中。
  2. 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 "

运行命令sudo bash pwsvg.sh并重新启动。

如果出现任何问题,请从任何 tty 使用备份文件替换已编辑的 gresource 文件,该文件/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource.BAK

sudo mv /usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource.BAK /usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource

在 Ubuntu 20.04.2 中测试

答案2

图标与其位置分开缓存,因此您对主题资产所做的任何更改都不会反映在缓存更新之前......如果您从未对系统应用更新,有时可能需要数年时间。

幸运的是,您可以通过以下方法强制重建缓存:

  1. 打开终端(如果尚未打开)
  2. 重建缓存:
    sudo update-icon-caches /usr/share/icons/*
    
  3. 没有第 2 步。

如果这不起作用...

  1. 更新主题目录的时间戳:
    sudo touch /usr/share/icons/Yaru ~/.local/share/icons/Yaru
    
  2. 使用gtk-update-icon-cache命令:
    sudo gtk-update-icon-cache
    

希望您看到 Yaru 的process-working-symbolic图标已被替换为您想要看到的图标

相关内容