是否有用於覆蓋圖示的主目錄位置?
有一些補充位置的主目錄
/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.desktop
為Icon=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
,例如。