Come posso modificare a livello di codice l'icona di un file?


16

Se seleziono un'icona in Nautilus e seleziono Proprietà, posso fare clic sull'icona presentata lì. Questo mi dà una finestra di dialogo di selezione dei file per selezionare una nuova immagine dell'icona.

Vorrei farlo tramite uno script di qualche tipo in modo da poter assegnare la stessa icona a più file contemporaneamente. Oppure prendi un elenco di icone e un elenco di file e assegnali l'uno all'altro.

C'è un modo per riuscirci? Qualcosa in bash o Python sarebbe fantastico, ma prenderò quello che posso ottenere.

Notare che:

  • Non sto chiedendo come modificare l'icona per un tipo di file.
  • Non sto chiedendo come modificare un'icona nel programma di avvio.

inserisci qui la descrizione dell'immagine

Risposte:


25


Per cambiare quelle icone dalla riga di comando, puoi usare il seguente comando:

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

È possibile utilizzare questo comando in uno script bash in base alle proprie esigenze.

Se si esegue il comando e l'icona non cambia immediatamente, è possibile installare il pacchetto xautomation con:

sudo apt-get install xautomation

E infine, usa il comando "xte" per "sendkey" in bash come "F5" per aggiornare ..
Un piccolo esempio potrebbe essere:

#!/bin/bash
gvfs-set-attribute -t string /home/hermes/testicon metadata::custom-icon file:///home/hermes/Desktop/applet_blank.png
sleep 3
xte "key F5"  

Spero che questo ti sia utile.


3

La risposta di Roman sembra ideale. C'è un altro modo meno elegante. Non sono sicuro di dove vivono le icone nel resto del sistema, ma le icone che si trovano sul desktop sono solo piccoli file di testo in $ HOME / Desktop. Di solito (ma non è necessario) hanno l'estensione di .desktop. Uno dei campi in questi file è Icon = .... Puoi usare un programma per cambiare qualunque valore quel campo sia impostato sul valore che preferisci. (Potrebbe essere necessario eseguire un aggiornamento dopo averlo fatto proprio come suggerisce Roman.)

Quando voglio usare un'icona per qualcos'altro o su un altro sistema, a volte cerco questi file .desktop per scoprire come viene chiamata l'icona in uso.

Le specifiche per questi file sono disponibili su: http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec

Joe

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.