%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%2C%20%D0%BD%D0%B5%20%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D1%8F%20%D1%82%D0%BE%D1%87%D0%BA%D1%83%20%D0%B2%20%D0%B5%D0%B3%D0%BE%20%D0%B8%D0%BC%D1%8F%3F.png)
Обычно программы Linux хранят пользовательские настройки в каталогах ~/.*. Но, к сожалению, некоторые разработчики (некоторых нужных мне приложений) не следуют этому правилу и не начинают имена своих папок хранения настроек с точки. Это приводит к захламлению домашнего каталога папками, которые никогда не используются пользователем (возможно, не совсем то слово, так как их не так много, но они все равно раздражают). Переименование их не вариант, так как приложения в этом случае их не найдут (и создадут заново).
Есть ли способ скрыть папку, в названии которой нет точки, от отображения в распространенных браузерах файловых систем (я на самом деле использую Thunar из XFCE, а также Midnight Commander и Krusader, но не отказался бы узнать и о Nautilus).
решение1
Наутилус(Обновление: теперь это должно работать и с Thunar)скроет любой файл или папку, указанную в файле, .hidden
расположенном в том же каталоге.
Скрыть папку в Nautilus можно двумя способами:
скрипт Наутилуса
Сохраните следующий код в новом файле в вашей домашней папке. Назовите его
Hide
.#!/usr/bin/env python import commands from os.path import join files = commands.getoutput("echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS") cwd = commands.getoutput("echo $NAUTILUS_SCRIPT_CURRENT_URI") cwd = cwd[7:] for f in files.split(" /"): f = f.split("/")[-1] commands.getoutput("echo "+f+" >> "+join(cwd, ".hidden"))
Для установки скрипта выполните следующую команду:
cp Hide ~/.local/share/nautilus/scripts/ && chmod u+x ~/.local/share/nautilus/scripts/Hide
В Nautilus выберите один или несколько файлов/папок и щелкните правой кнопкой мыши. ВыбратьСкрыватьизСкриптыменю:
Перезагрузите текущее местоположение ( F5), и выбранные файлы/папки будут скрыты.
Командная строка
Допустим, вы хотите скрыть папку под названием «Величайшие хиты Рика Эстли», просто выполните следующую команду:
echo "Rick Astley's Greatest Hits" >> .hidden
решение2
Откройте synaptic и найдите "nautilus-hide", установите его. Выйдите и войдите в систему. Теперь щелкните правой кнопкой мыши по любому файлу или папке. Теперь вы увидите опцию "Скрыть" в контекстном меню.
Имя не изменится, но папка будет скрыта.
решение3
Я изменилХороший сценарий Элвиначтобы (надеюсь) было более питонским (и потенциально более быстрым, если добавляется много файлов, поскольку .hidden
открывается только один раз):
#!/usr/bin/env python
import os
files = os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].split()
# According to https://help.ubuntu.com/community/NautilusScriptsHowto
# the list is newline-delimited, which is split()'s default separator
# No need for NAUTILUS_SCRIPT_CURRENT_URI
cwd = os.path.dirname(files[0])
# Assuming all selected files are in the same path, I cannot imagine why not
# Instead of relying on "echo ... >> ..." use Python's IO:
with open(os.path.join(cwd, ".hidden"), "a") as hidden:
hidden.write("\n".join(
[os.path.basename(f) for f in files.split()]))