На этот вопрос уже есть ответ здесь:
Как изменить значки многих папок?
Как установить первую картинку каждой папки в качестве значка папки?
Я был здесь, но это не работает для меня. Потому что мои фильмы находятся не в домашнем разделе, а в другом разделе ext4, и когда я пытаюсь указать местоположение этого раздела в этой команде, она просто не работает, потому что автоматически ставит /home/sumeet перед местом, которое я ввожу.
Скрипты во 2-м посте не работают! Может я что-то не так делаю?
[EDIT 2 DETAILED]
{ while read -r d ; do [ -d "$d" ] && [ -e "$d/folder.png" ] || continue ; gvfs-set-attribute -t string "$d" metadata::custom-icon "file://$d/folder.png" ; done ; } < <(find ~/mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I -mindepth 1 -maxdepth 1 -type d)
Сначала я выполнил эту команду из первого сообщения, что дало мне результат
find: ‘/home/sumeet/mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I’: No such file or directory
Затем я переместил некоторые файлы в home/videos/films, как было предложено в первом сообщении, и выполнил эту команду
{ while read -r d ; do [ -d "$d" ] && [ -e "$d/folder.png" ] || continue ; gvfs-set-attribute -t string "$d" metadata::custom-icon "file://$d/folder.png" ; done ; } < <(find ~/Videos/Films -mindepth 1 -maxdepth 1 -type d)
Что сработало отлично, но я не могу переместить всю коллекцию фильмов в папку home.
Затем я попробовал решение из второго сообщения и запустил
python3 /home/sumeet/change_icon.py </mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I>
И получил вот такой результат
bash: syntax error near unexpected token `newline'
Затем я решил, что сделал что-то не так и попробовал вот это
python3 /home/sumeet/change_icon.py /mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I
Не получил никакого результата, но и это не сработало.
Затем я попробовал второй скрипт 3 или 4 раза. Появилась опция правого клика, но она не сработала, и я сделал все, что просили оба сообщения. Я вышел из системы, снова вошел, попробовал перезагрузиться, -q nautilus
Похоже, не работает.
#!/usr/bin/env python3
import subprocess
import os
# --- set the list of valid extensions below (lowercase)
# --- use quotes, *don't* include the dot!
ext = ["jpg", "jpeg", "png", "gif", "icns", "ico"]
# ---
# retrieve the path of the targeted folder
current = os.getenv("NAUTILUS_SCRIPT_CURRENT_URI").replace("file://", "").replace("%20", " ")
dr = os.path.realpath(current)
for root, dirs, files in os.walk(dr):
for directory in dirs:
folder = os.path.join(root, directory)
try:
first = min(p for p in os.listdir(folder)
if p.split(".")[-1].lower() in ext)
except ValueError:
pass
else:
subprocess.Popen([
"gvfs-set-attribute", "-t", "string",
os.path.abspath(folder), "metadata::custom-icon",
"file://"+os.path.abspath(os.path.join(folder, first))
])
Создают, если это еще не существует, Копия каталога
~/.local/share/nautilus/scripts
сценарий в пустой файл, сохраните его в ~/.local/share/nautilus/scripts
как set_foldericons
(никакое расширение!), щелкните правой кнопкой и перейдите к свойствам файла, и делают это исполняемым файлом .
, Если Вы хотите скрыть все значки папок (так, чтобы Вы случайно не предполагали, что они - папки) добавляют .
в начале имен файлов, например folder.png
становится .folder.png