是否有覆盖图标的主目录位置?

是否有覆盖图标的主目录位置?

有一些主目录位置可以补充/usr位置。这些位置中的文件会覆盖其/usr对应位置的文件。例如:

  • ~/.local/bin补充/usr/bin
  • ~/.local/share/applications补充/usr/share/applications

如果我想覆盖某个应用程序,我可以创建一个自定义.desktop文件并将其存储在~/.local/share/applications.如果我想调整应用程序的调用方式,这很有帮助,但如果我只想更改图标,那就太过分了。

此外:

  • 如果原始.desktop文件很重要,我要么会失去原始功能,要么需要保持本地副本同步
  • 我无法修改非应用程序图标(状态图标等)

我可以修改或维护图标/usr/share/icons/hicolor/48x48,但我更愿意将它们保留在我的主文件夹中,这些将是倒退图标不压倒性的图标。

是否有一个补充的主文件夹位置/usr/share/icons,我可以在其中存储应用程序图标和其他图标,并且它们会覆盖现有的主题图标?

例如,我正在使用 Papirus 主题,但我想使用我自己的图标记事本.svg对于文本编辑器应用程序。该图标在/usr/share/applications/org.gnome.gedit.desktopas中定义Icon=gedit。我应该放在哪里notepad.svg

答案1

历史等效项是~/.icons,XDG 等效项是~/.local/share/icons(严格来说,icons中路径的子目录$XDG_DATA_DIRS)。当您仅在文件中按名称指定图标时.desktop,这依赖于图标主题,因此值得阅读图标主题规格

理想情况下你应该使用xdg-icon-resource在本地安装图标。

答案2

xdg-icon-resource程序对于“可缩放”SVG 图标显然是愚蠢的。它需要一个--size参数,但不允许您指定scalable大小。

我试图让 Alacritty 图标正常工作,结果如下:

$ mkdir -p ~/.local/share/icons/hicolor/scalable/apps
$ mv /tmp/Alacritty.svg ~/.local/share/icons/hicolor/scalable/apps/

解释一下,“hicolor”主题是大多数 Gnome 主题的后备、默认父主题。你可以在中看到它的定义/usr/share/icons/hicolor/index.theme

您可以通过以下方式找到您当前的主题

$ gsettings get org.gnome.desktop.interface icon-theme
'Yaru'

你可以看到它是如何从hicolor顶部继承的:

$ head -4 /usr/share/icons/Yaru/index.theme
[Icon Theme]
Name=Yaru
Comment=A desktop adaptation of the Ubuntu mobile icons.
Inherits=Humanity,hicolor

例如,如果您尝试覆盖特定主题的图标,则需要将该图标放入该主题的目录中,因为将其放入hicolor不会覆盖它。Yaru

相关内容