Der Haupttrick besteht darin, herauszufinden, wo sich die tatsächlichen Symbole befinden.
Um dies festzustellen, analysieren wir HTML-Symbole. Die Namenskonvention für die Symbole ist die gleiche wie für den MIME-Typ, wird nur /
durch ersetzt -
und es sind keine Großbuchstaben zulässig. Der MIME-Typ hat text/x-changelog
beispielsweise das Symbol text-x-changelog.svg
(oder png
). MIME-Typ für HTML ist text/html
. Das Symbol wird also sein, text-html.*
wenn wir den Befehl ausführen
find /usr/share/icons/ -type f | grep 'text-html\.'
Wir werden mehrere Stellen bekommen, an denen diese Symbole platziert sind:
/usr/share/icons/Humanity/mimes/
/usr/share/icons/gnome/NNxNN/mimetypes/
/usr/share/icons/HighContrast/scalable/mimetypes/
Wenn wir jeden von ihnen mit Nautilus besuchen, werden wir sehen, dass dieser Humanity/
Ordner unsere aktuellen Symbole enthält gnome/
- einige ältere. HighContrast/
interessiert uns nicht Um also einige Icons zu ändern, sollten wir die Icons im Humanity/
Ordner ersetzen .
Beachten Sie auch, dass text-html.svg
skalierbare Symbole, die in einem scalable
Unterordner abgelegt werden sollten (der logisch sein sollte), stattdessen für verschiedene Größen in den Ordnern abgelegt werden, genau wie Raster-PNG-Dateien.
Nach dem Ersetzen der Icons (in allen Unterordnern entsprechend ihrer Größe) durch die gewünschten soll der Icon-Cache aktualisiert werden:
sudo gtk-update-icon-cache /usr/share/icons/Humanity
Das ist es.
Es gibt eine andere Möglichkeit, die Priorität von Symbolschemata zu bestimmen, nämlich die index.theme
Dateien zu überprüfen . Wenn wir hineinschauen /usr/share/icons/Humanity/index.theme
, werden wir sehen:
Inherits=gnome,hicolor
Dies bedeutet, dass Symbole aus gnome
und hicolor
Ordner weniger Vorrang haben als diejenigen aus Humanity
. Dies wird hier erklärt .
Seltsamerweise befolgt Nautilus diese Vererbungsregeln nicht. Wenn ich neuen MIME-Typ hinzugefügt, habe ich versucht , seine Ikonen Platzierung in /usr/share/icons/gnome/
, /usr/share/icons/hicolor
, ~/.local/share/icons/hicolor
auf jeden Schritt, Aktualisieren Symbol Datenbank - alles vergeblich. Diese Symbole wurden assogiate
auf der ersten Registerkarte korrekt angezeigt , jedoch nie in Nautilus. Aber als ich sie in Humanity
Ordner und aktualisierte Symboldatenbank legte, erschienen sie sofort.
Hinweis: All dies gilt für das Standardsymbol-Design. Wenn Sie ein benutzerdefiniertes Symboldesign verwenden, sollten Sie überprüfen, wo sich die tatsächlichen Symbole befinden, und stattdessen Symbole hinzufügen / ändern. Auch in neueren Distributionen können sich diese Vererbungsregeln ändern. Suchen Sie dann den neuen Ordner, in dem die tatsächlichen Symbole (falls nicht Humanity
mehr vorhanden) gespeichert sind, wie zuvor erläutert.