Directory-Structure

是否有用於覆蓋圖示的主目錄位置?

  • February 3, 2021

有一些補充位置的主目錄/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 主題,但我想將自己的圖示notepad.svg用於文本編輯器應用程序。此圖示定義/usr/share/applications/org.gnome.gedit.desktopIcon=gedit。我應該放在哪裡notepad.svg

歷史等價物是~/.icons,XDG 等價物是~/.local/share/icons(嚴格來說,icons路徑的子目錄$XDG_DATA_DIRS)。當您僅在文件中按名稱指定圖示時.desktop,這依賴於圖示主題,因此值得閱讀圖示主題規範

理想情況下,您應該使用xdg-icon-resource在本地安裝圖示。

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,例如。

引用自:https://unix.stackexchange.com/questions/404955