Você pode fazer isso a partir da linha de comando:
gvfs-set-attribute -t string <directory> metadata::custom-icon file://<icon-location>
substituindo <directory>
pelo nome do diretório para o qual você deseja um ícone personalizado e <icon-location>
com o local do ícone. Por exemplo, para alterar o ícone de ~ / Documents para uma maçã vermelha:
gvfs-set-attribute -t string ~/Documents metadata::custom-icon file:///usr/share/pixmaps/apple-red.png
Agora, para automatizar um pouco o processo, diga que você tem um diretório ~/Videos/Films
dentro do qual você tem um diretório por filme, cada um contendo um arquivo chamado icon.png
que contém o ícone desejado. Nesse caso, você pode digitar na linha de comando:
{ 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)
Observe que uma janela nautilus aberta precisará ser atualizada para que qualquer mudança de ícone executada na linha de comando tenha efeito.