Wie ändere ich das Symbol für einen bestimmten Dateityp?

42

Ich versuche, das Symbol für application/x-hwpDateien zu ändern . Ich habe die Symbole an den richtigen Stellen hinzugefügt und mit assoGiate überprüft (nachdem ich diesen Thread gelesen habe ). Es zeigt, dass mein gewünschtes Symbol dem Dateityp zugeordnet ist. Trotzdem zeigt Nautilus immer noch die alte Ikone. Wie kann ich Nautilus das richtige Symbol anzeigen lassen?

Scott Severance
quelle
@ Rinzwind: Danke. Leider löst dieser Link ein anderes Problem. Es basiert auf dem Ändern der Symbole einzelner Dateien. Ich möchte das Standardsymbol für alle Dateien eines bestimmten Typs ändern.
Scott Severance
Verwenden Sie ein benutzerdefiniertes Symbolthema? Das könnte das Symbol stören, das angezeigt werden soll.
RBurgund,
Ich verwende das Standard-Ambiance-Thema. Egal, meines Wissens decken keine Icon-Themen diesen Dateityp ab. Ich erhalte nur das Symbol, das standardmäßig angezeigt wird, wenn Nautilus nicht weiß, welches andere Symbol angezeigt werden soll. Darüber hinaus sind Symbolthemen hierarchisch. Wenn im aktuellen Thema kein entsprechendes Symbol gefunden wird, wird die Hierarchie durchsucht, was schließlich zum Hicolor-Thema führt. Meine Icons sind sowohl in den Themen ubuntu0mono-dark als auch in hicolor installiert.
Scott Severance

Antworten:

22

Hier finden Sie eine Reihe von Anweisungen, mit denen Sie ein benutzerdefiniertes Symbol für HP-Dateien erhalten sollten.

Öffnen Sie ein Terminal:

  • Überprüfen Sie, ob der MIME-Typ vorhanden ist: grep 'hwp' /etc/mime.types

    Wenn Sie eine ähnliche Ausgabe erhalten, application/x-hwp hwpüberspringen Sie den nächsten Schritt.

  • Erstellen Sie den MIME-Typ sudo -H gedit /etc/mime.typesund fügen Sie die Zeile hinzuapplication/x-hwp hwp

  • Füge das Icon hinzu (welches aufgerufen werden muss application-x-hwp.svg) :

    sudo cp PathToIcon/application-x-hwp.svg /usr/share/icons/gnome/scalable/mimetypes
    

    (nicht vergessen, PathToIcon zu ersetzen)

Habe die Informationen von hier

danjjl
quelle
Danke für den Vorschlag. Ich hatte noch keine Chance, es gründlich zu versuchen (bisher kein Erfolg), aber ich vergebe das Kopfgeld, weil die anderen Vorschläge nicht funktioniert haben und ich keine Chance mehr habe, daran zu arbeiten Das Kopfgeld verfällt.
Scott Severance
Sie sollten vielleicht überprüfen, ob Ihr Icon-Theme von Gnome erbt (die meisten Icon-Themes tun dies). Sie finden diese Informationen in index.theme im Verzeichnis Ihres Icon-Sets
danjjl
Sie müssen auch überprüfen ~/.local. Zum Beispiel ~/.local/share, welches den Ordner nachahmt /usr/local/share. Ihre lokal installierte Anwendung (dh Anwendung nur für Sie, keine anderen Anmeldungen) kann dort ihre Eigenschaften haben. Bearbeiten Sie ähnliche Dateien, z. B.~/.local/share/icons/XXXX/XXXX
Robin Hsu
@danjjl: Was meinst du mit (vergiss nicht PathToIcon zu ersetzen)?
JoKalliauer
1
@JoKalliauer im Befehl zum Kopieren des Symbols nach /usr/share/... . Ich beziehe mich auf PathToIcon. Dies muss durch den Pfad zum Symbol auf Ihrem PC ersetzt werden. (Wenn Sie glauben, dass dies klarer formuliert werden könnte, zögern Sie nicht, eine
Änderung
14

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.

whtyger
quelle
Sie müssen auch überprüfen ~/.local. Zum Beispiel ~/.local/share, welches den Ordner nachahmt /usr/local/share. Ihre lokal installierte Anwendung (dh Anwendung nur für Sie, keine anderen Anmeldungen) kann dort ihre Eigenschaften haben. Bearbeiten Sie ähnliche Dateien, z. B.~/.local/share/icons/XXXX/XXXX
Robin Hsu
0

Ich hoffe, Sie haben versucht, sich abzumelden und anzumelden, um den Icon-Cache zu aktualisieren.

Sehen Sie auch, ob Ihr Symbol in der richtigen Größe verfügbar ist (die, mit der Sie den Dateityp in Nautilus anzeigen).

Möglicherweise haben Sie auch das Laufen verpasst gtk-update-icon-cache.

Probieren Sie dieses Tutorial aus: http://swik.net/Ubuntu/Only+Ubuntu/How+To+Change+File-Type+(mimetype)+Icons+in+Ubuntu/chcrf

Versuchen Sie, icon.theme manuell zu erstellen. Hier ist ein Beispiel von awn:

[Icon Theme]
Name=awn-theme

Directories=scalable

[scalable]
Size=48
MaxSize=256
Context=Apps
Type=Scalable

Das Handbuch finden Sie hier: http://live.gnome.org/GnomeArt/Tutorials/IconThemes

Chris Hasiński
quelle
Ich habe ein 48x48-Symbol installiert und Nautilus auf 100% gesetzt, wobei 48x48 verwendet wird. Kein Würfel. Das erneute Einloggen macht keinen Unterschied. Laufen gtk-update-icon-cachehat keine Auswirkung.
Scott Severance
Ich habe meine Antwort aktualisiert. Hat es geholfen?
Chris Hasiński
Ich habe kein Symbolthema manuell erstellt, da ich kein neues Thema möchte. Ich möchte nur, dass das Symbol in das Hicolor-Thema eingefügt wird, da dies die Grundlage aller Symbolthemen ist. Das Erstellen eines neuen Themas wird meinen Zweck zunichte machen.
Scott Severance
-2

1)

 sudo apt-get install assogiate

Folgen Sie diesem guten Tutorial mit schönen Bildern

http://lordamit.blogspot.com/2010/07/change-file-type-icons-mime-type-icons.html


2)

Wenn der Dateityp nicht richtig erkannt wird oder der Dateityp falsch angezeigt wird, suchen Sie den Dateityp, der die Zeichen identifiziert

EX: rar gehen Sie zu http://filext.com/file-extension/rar

Kennung "Hex: 52 61 72 21 1A 07 00, ASCII: Rar!"

öffne die Datei in einem Segens- oder Hex-Editor und finde die Kennung und den Versatz (wo deine Schlüsselwörter beginnen)

In unserem Fall ist das erste Bit, also Offset, "0".

Dann gehe auf "Dateitypen-Editor", bearbeite oder erstelle ein neues Objekt, wähle dann Bearbeiten und unter Dateiinhalt

Wählen Sie "string" aus der Dropdown-Liste und geben Sie "Rar!" und setze Offset "0".

Getan

sodam
quelle
3
Wie ich in meiner ursprünglichen Frage festgestellt habe, funktioniert assogiate nicht.
Scott Severance