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-changelogbeispielsweise 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.svgskalierbare Symbole, die in einem scalableUnterordner 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.themeDateien zu überprüfen . Wenn wir hineinschauen /usr/share/icons/Humanity/index.theme, werden wir sehen:
Inherits=gnome,hicolor
Dies bedeutet, dass Symbole aus gnomeund hicolorOrdner 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/hicolorauf jeden Schritt, Aktualisieren Symbol Datenbank - alles vergeblich. Diese Symbole wurden assogiateauf der ersten Registerkarte korrekt angezeigt , jedoch nie in Nautilus. Aber als ich sie in HumanityOrdner 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 Humanitymehr vorhanden) gespeichert sind, wie zuvor erläutert.