2 votes

Est-il possible d'attribuer/modifier des icônes personnalisées pour les fichiers dans un lot / à partir de la ligne de commande ?

En fait, je parle des icônes de Nautilus scripts et j'en ai beaucoup. Bien que je préfère les menus sans icônes, je ne peux pas empêcher l'affichage des icônes dans les éléments du menu contextuel de Nautilus. Ouvrir avec y scripts .

En particulier, le fait d'avoir la même icône script affichée pour chacun d'entre eux n'est pas du tout esthétique. Donc, si je ne peux pas les empêcher, j'aimerais au moins qu'ils utilisent des icônes mieux liées à la fonction de chaque script.

Il est facile d'attribuer une icône personnalisée à un seul fichier par le biais de l'application Propriétés du fichier mais j'ai un total de 82 Nautilus scripts en ce moment !

Lorsque vous entrez gvfs-info /path/to/file dans le terminal, vous pouvez voir une ligne comme celle-ci : metadata::custom-icon: file:///usr/share/icons/NITRUX-Buttons/apps/scalable/accessories-text-editor.svg

Je me demande s'il est possible d'éditer cette ligne (où qu'elle se trouve) dans un lot / en ligne de commande ?

1voto

Sadi Points 10633

Je ne la voyais pas dans la liste affichée au moment où j'écrivais cette question, mais j'ai vu plus tard une question similaire et la réponse que je cherchais dans la liste des questions connexes à droite :

Comment puis-je changer l'icône d'un fichier de manière programmatique ?

Il semble qu'en gros, la commande pour ça soit :

gvfs-set-attribute -t string /path/to/your/file metadata::custom-icon file:///path/to/your/icon.png

Notes :

1. Cela ne semble pas fonctionner pour Nautilus scripts dans les versions Ubuntu antérieures à 12.10.

2. Cela ne semble pas fonctionner non plus pour Nautilus scripts lorsque vous exécutez Nautilus en tant que root.

0voto

f0nzie Points 141

En utilisant les idées exposées ici, il suffirait de changer l'icône de Nautilus ou Nemo :

#!/bin/bash
# Written by Alfonso R. Reyes
# make hard links for multiple file selection
# be careful of not moving the hard link to a different file system
HARDLINK_ICON=${HOME}/.local/share/icons/mine/folder-green-activities-icon.png
for arg 
do
    # make a hard link of the selected file
    if [[ -f "$arg" ]] 
    then
        HARDLINK_NAME="Hard Link to $arg"
        ln "$arg" "${HARDLINK_NAME}"
        gio set -t string "${HARDLINK_NAME}" metadata::custom-icon file:///${HARDLINK_ICON}
    fi
done

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X