web-dev-qa-db-fra.com

Comment changer l'icône pour un type de fichier particulier?

J'essaie de changer l'icône pour les fichiers application/x-hwp. J'ai ajouté les icônes aux bons endroits et vérifié avec assoGiate (après avoir lu ce fil ). Cela montre que l'icône de mon choix est associée au type de fichier. Néanmoins, Nautilus affiche toujours l'ancienne icône. Comment faire en sorte que Nautilus affiche la bonne icône?

40
Scott Severance

Voici un ensemble d’instructions qui devraient vous donner une icône personnalisée pour les fichiers hwp.

Ouvrir un terminal:

  • Vérifiez que le type MIME existe: grep 'hwp' /etc/mime.types

    si vous obtenez une sortie ressemblant à application/x-hwp hwp, passez à l'étape suivante.

  • Créez le type MIME Sudo -H gedit /etc/mime.types et ajoutez la ligne application/x-hwp hwp

  • Ajoutez l'icône (qui doit s'appeler application-x-hwp.svg) :

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

    (n'oubliez pas de remplacer PathToIcon)

Vous avez l'information de ici

21
danjjl

L'astuce principale consiste à rechercher correctement l'emplacement des icônes.
Afin de déterminer cela, analysons les icônes HTML. La convention de dénomination des icônes est la même que pour le type MIME, seul / est remplacé par - et aucune majuscule n'est autorisée. C'est à dire. Le type MIME, disons, text/x-changelog aura l'icône nommée text-x-changelog.svg (ou pngname__). Le type MIME pour HTML est text/html. Donc, son icône sera text-html.* Si nous lançons la commande

find /usr/share/icons/ -type f | grep 'text-html\.'

nous aurons plusieurs endroits où ces icônes sont placées:

/usr/share/icons/Humanity/mimes/
/usr/share/icons/gnome/NNxNN/mimetypes/
/usr/share/icons/HighContrast/scalable/mimetypes/

Si nous visitons chacun d’eux avec Nautilus, nous verrons que le dossier Humanity/ contient nos icônes actuelles, gnome/ - certaines plus anciennes. HighContrast/ ne nous intéresse pas. Donc, afin de changer une icône, nous devons remplacer les icônes situées dans le dossier Humanity/.
Notez également que les icônes text-html.svg qui sont évolutives et auraient dû être placées dans le sous-dossier scalable(qui devrait être logique) sont placées dans les dossiers de tailles différentes, de la même manière que les fichiers raster PNG.

Après le remplacement des icônes (dans tous les sous-dossiers en fonction de leur taille) par celles souhaitées, le cache des icônes doit être mis à jour:

Sudo gtk-update-icon-cache /usr/share/icons/Humanity

C'est tout.

Il existe un autre moyen de déterminer la priorité des schémas d'icônes: vérifier leurs fichiers index.theme. Si nous regardons à l'intérieur /usr/share/icons/Humanity/index.theme, nous verrons:

Inherits=gnome,hicolor

Cela signifie que les icônes des dossiers gnomeet hicolorauront moins de priorité que celles de Humanityname__. Ceci est expliqué ici .
Étrangement, Nautilus n'obéit pas à ces règles d'héritage. Lorsque j'ai ajouté un nouveau type MIME, j'ai essayé de placer ses icônes dans /usr/share/icons/gnome/, /usr/share/icons/hicolor, ~/.local/share/icons/hicolor, en mettant à jour la base de données d'icônes à chaque étape, le tout en vain. Ces icônes étaient affichées correctement dans assogiatedu premier onglet, mais jamais dans Nautilus. Mais lorsque je les ai placés dans le dossier Humanityet que j'ai mis à jour la base de données des icônes, ils sont apparus immédiatement.

N.B. Tout cela s'applique au thème d'icônes par défaut. Si vous utilisez un thème d'icônes personnalisé, vous devez vérifier l'emplacement des icônes réelles et y ajouter/modifier des icônes. De plus, dans les distributions plus récentes, ces règles d'héritage peuvent changer. Ensuite, vous devez localiser le nouveau dossier qui stocke les icônes réelles (si ce n’est plus Humanityname__), comme expliqué précédemment.

12
whtyger

J'espère que vous avez essayé de vous déconnecter et de vous connecter pour actualiser le cache des icônes.

Vérifiez également si votre icône est disponible dans une taille appropriée (celle que vous utilisez pour afficher le type de fichier dans Nautilus).

Vous pourriez également manquer l'exécution de gtk-update-icon-cache.

Essayez ce tutoriel: http://swik.net/Ubuntu/Only+Ubuntu/How+To+Change+File-Type+ (type MIME) + Icônes + dans + Ubuntu/chcrf

Essayez de créer manuellement icon.theme, voici un exemple de awn:

[Icon Theme]
Name=awn-theme

Directories=scalable

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

Le manuel est ici: http://live.gnome.org/GnomeArt/Tutorials/IconThemes

0
Chris Hasiński