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