Vorrei cambiare le icone di più file dal terminale.
Non icone di avvio, ma le icone predefinite per i tipi di file, basate sulle terminazioni dei file.
Come realizzare questo compito?
Vorrei cambiare le icone di più file dal terminale.
Non icone di avvio, ma le icone predefinite per i tipi di file, basate sulle terminazioni dei file.
Come realizzare questo compito?
Risposte:
gli "emblemi" sono memorizzati come binari nella directory ~/.local/share/gvfs-metadata
.
Quindi è necessario gvfs-bin per poterlo estrarre e salvarli. Oh, e c'è un file per partizione / volume / directory / file (per peggiorare le cose).
Per ottenere informazioni su un emblema puoi usare:
gvfs-info -a metadata::emblems {filename|folder}
Per impostare una {icona} per un {nome file} o {cartella} usi:
gvfs-set-attribute -t stringv {filename|folder} metadata::emblems {icon}
Esempio:
Ho creato le cartelle 1, 2, 3, 4 in ~ / Music.
Comandi all'interno del terminale dell'immagine:
gvfs-set-attribute 1 metadata::custom-icon file:///usr/share/pixmaps/gnome-log.png
gvfs-set-attribute 2 metadata::custom-icon file:///usr/share/pixmaps/gnome-spider.png
Cambia 1 e 2 in un file video esistente o in qualsiasi altro file reale e dovrebbe funzionare allo stesso modo.
e F5 aggiorna il pannello inferiore.
Come puoi immaginare dalla directory 3 e 4, dovrai farlo per ogni file per cui lo desideri.
Ecco uno script che attraversa una directory e imposta un PNG che risiede nella cartella come emblema delle cartelle (fondamentalmente questo imita il metodo Windows di utilizzare folder.png
come emblema della directory sopra di esso).
#! / Usr / bin / python import os da os.path import join cwdir = str (os.popen ('pwd'). readline ()). replace ('\ n', '') per root, dirs, file in os.walk (cwdir): per nome nei file: if name.lower (). find ('. png')! = -1: os.system ('gvfs-set-attributo "' + root + '" metadata :: custom-icon "' + name + '"')
Potresti essere in grado di cambiarlo nella tua versione che include file.
utilizzo della sceneggiatura a proprio rischio