Come modificare le icone di più file dal terminale?


9

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?


Vuoi dire che puoi farlo con il tasto destro del mouse -> Proprietà nel file manager?
dv3500ea,

Quelle icone di avvio, o le icone predefinite per i tipi di file, si basano sulle terminazioni dei file?
Johanna Larsson,

Sì, voglio cambiare le icone di più file in un'unica icona.
karthick87,

Icone non di avvio, icone predefinite per i tipi di file.
karthick87,

Risposte:


10

gli "emblemi" sono memorizzati come binari nella directory ~/.local/share/gvfs-metadata.

Quindi è necessario gvfs-bin Installa 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.

IM1

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

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.