Как скрыть (в Thunar и Nautilus) каталог, не добавляя точку в его имя?

Как скрыть (в Thunar и Nautilus) каталог, не добавляя точку в его имя?

Обычно программы Linux хранят пользовательские настройки в каталогах ~/.*. Но, к сожалению, некоторые разработчики (некоторых нужных мне приложений) не следуют этому правилу и не начинают имена своих папок хранения настроек с точки. Это приводит к захламлению домашнего каталога папками, которые никогда не используются пользователем (возможно, не совсем то слово, так как их не так много, но они все равно раздражают). Переименование их не вариант, так как приложения в этом случае их не найдут (и создадут заново).

Есть ли способ скрыть папку, в названии которой нет точки, от отображения в распространенных браузерах файловых систем (я на самом деле использую Thunar из XFCE, а также Midnight Commander и Krusader, но не отказался бы узнать и о Nautilus).

решение1

Наутилус(Обновление: теперь это должно работать и с Thunar)скроет любой файл или папку, указанную в файле, .hiddenрасположенном в том же каталоге.

Скрыть папку в Nautilus можно двумя способами:

скрипт Наутилуса

  1. Сохраните следующий код в новом файле в вашей домашней папке. Назовите его 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"))
    
  2. Для установки скрипта выполните следующую команду:

    cp Hide ~/.local/share/nautilus/scripts/ && chmod u+x ~/.local/share/nautilus/scripts/Hide
    
  3. В 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()]))

Связанный контент