Il trucco principale è scoprire correttamente dove si trovano le icone reali.
Per determinare che analizziamo le icone HTML. La convenzione di denominazione per le icone è la stessa del tipo MIME, /
viene sostituita solo con -
e non sono consentite lettere maiuscole. Vale a dire il tipo MIME, diciamo, text/x-changelog
avrà l'icona denominata text-x-changelog.svg
(o png
). Il tipo MIME per HTML è text/html
. Quindi la sua icona sarà text-html.*
Se eseguiamo il comando
find /usr/share/icons/ -type f | grep 'text-html\.'
otterremo diversi luoghi in cui sono posizionate queste icone:
/usr/share/icons/Humanity/mimes/
/usr/share/icons/gnome/NNxNN/mimetypes/
/usr/share/icons/HighContrast/scalable/mimetypes/
Se visitiamo ciascuno di essi con Nautilus vedremo, quella Humanity/
cartella contiene le nostre icone correnti, gnome/
alcune più vecchie. HighContrast/
non ci interessa. Quindi, per cambiare qualche icona, dovremmo sostituire le icone che si trovano nella Humanity/
cartella.
Si noti inoltre che le text-html.svg
icone che sono scalabili e avrebbero dovuto essere collocate in una scalable
sottocartella (che dovrebbe essere logica) vengono invece collocate nelle cartelle per dimensioni diverse, allo stesso modo dei file PNG raster.
Dopo aver sostituito le icone (in tutte le sottocartelle in base alle loro dimensioni) con quelle desiderate, è necessario aggiornare la cache delle icone:
sudo gtk-update-icon-cache /usr/share/icons/Humanity
Questo è tutto.
C'è un altro modo per determinare la precedenza degli schemi di icone: controllare i loro index.theme
file. Se guardiamo dentro /usr/share/icons/Humanity/index.theme
, vedremo:
Inherits=gnome,hicolor
Ciò significa che le icone da gnome
e le hicolor
cartelle avranno meno precedenza di quelle di Humanity
. Questo è spiegato qui .
Stranamente, Nautilus non obbedisce a queste regole di eredità. Quando ho aggiunto nuovo tipo MIME, ho provato mettendo le sue icone in /usr/share/icons/gnome/
, /usr/share/icons/hicolor
, ~/.local/share/icons/hicolor
, database di aggiornamento icona ogni passo - tutto invano. Queste icone sono state visualizzate correttamente nella assogiate
prima scheda, ma mai in Nautilus. Ma quando li ho inseriti in una Humanity
cartella e ho aggiornato il database delle icone, sono comparsi subito.
NB Tutto ciò si applica al tema dell'icona predefinito. Se si utilizza un tema di icone personalizzate, è necessario controllare dove si trovano le icone effettive e aggiungere / modificare le icone lì. Anche nelle nuove distribuzioni queste regole di eredità possono cambiare. Quindi dovresti individuare la nuova cartella che contiene le icone effettive (se non lo è Humanity
più) come spiegato in precedenza.