У меня есть коллекция фильмов на моем компьютере, и каждый фильм хранится в его собственной папке с изображением ее обложки.
Что бы я хотел сделать, это изменить значок каждой папки на значок пленка. Есть ли способ сделать это быстрее, чем щелчок правой кнопкой мыши по каждой папке и изменение значков вручную?
Вы можете сделать это из командной строки:
gvfs-set-attribute -t string <directory> metadata::custom-icon file://<icon-location>
, заменив <directory> именем каталога, для которого вы хотите использовать пользовательский значок, и <icon-location> с расположением значка. Например, чтобы изменить значок ~ / Documents на красное яблоко:
gvfs-set-attribute -t string ~/Documents metadata::custom-icon file:///usr/share/pixmaps/apple-red.png
Теперь, чтобы автоматизировать процесс немного, скажем, что у вас есть каталог ~/Videos/Films, внутри которого у вас есть один каталог на каждый фильм, каждый из которых содержит файл с именем icon.png, который содержит нужный значок. В этом случае вы можете ввести в командной строке:
{ while read -r d ; do [ -d "$d" ] && [ -e "$d/icon.png" ] || continue ; gvfs-set-attribute -t string "$d" metadata::custom-icon "file://$d/icon.png" ; done ; } < <(find ~/Videos/Films -mindepth 1 -maxdepth 1 -type d)
Обратите внимание, что окно с открытым nautilus необходимо обновить, чтобы все изменения значков, выполненные в командной строке, вступили в силу. [!d3 ]