Как поменять иконки нескольких файлов из терминала?
Я хотел бы изменить иконки нескольких файлов из терминала.
Не значки запуска, а значки по умолчанию для типов файлов, основанные на окончаниях файлов.
Как решить эту задачу?
1 ответ
"эмблемы" хранятся в виде двоичных файлов в каталоге ~/.local/share/gvfs-metadata
,
Так что вам нужен gvfs-bin для того, чтобы иметь возможность извлечь их и сохранить их. О, и есть один файл на раздел / том / каталог / файл (что еще хуже).
Чтобы получить информацию о эмблеме, вы можете использовать:
gvfs-info -a metadata::emblems {filename|folder}
Чтобы установить {значок} для {имя_файла} или {папки}, вы используете:
gvfs-set-attribute -t stringv {filename|folder} metadata::emblems {icon}
Пример:
Я создал папки 1, 2, 3, 4 в ~/Music.
Команды внутри терминала изображения:
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
Измените 1 и 2 на существующий видеофайл или любой другой фактический файл, и он должен работать так же.
и F5 обновляет нижнюю панель.
Как вы можете догадаться из каталогов 3 и 4, вам нужно будет делать это для каждого файла, для которого вы хотите.
Вот скрипт, который проходит по каталогу и устанавливает PNG, который находится в папке как эмблему папок (в основном это имитирует метод использования Windows folder.png
как эмблема каталога над ним).
#! / USR / бен / питон импорт ОС из os.path импорт присоединиться cwdir = str(os.popen('pwd').readline()).replace('\n','') для root, dirs, файлы в os.walk(cwdir): для имени в файлах: if name.lower().find('.png')!= -1: os.system('gvfs-set-attribute "'+root+'" метаданные::custom-icon "'+name+'"')
Возможно, вы сможете изменить это в свою собственную версию, которая включает в себя файлы.
использование скрипта на свой страх и риск