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.pngcome 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