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

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

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

14
задан 22 December 2010 в 05:42

3 ответа

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

Есть два способа скрыть папку в Nautilus:

Сценарий 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 выберите один или несколько файлов / папок и щелкните правой кнопкой мыши. Выберите Скрыть в меню Сценарии :

    enter image description here

    Перезагрузить текущее местоположение ( F5 ) и выбранные файлы / папки будут скрыты.

Командная строка

Скажем, вы хотите скрыть папку под названием «Величайшие хиты Рика Эстли», просто выполните следующую команду:

echo "Rick Astley's Greatest Hits" >> .hidden
0
ответ дан 22 December 2010 в 05:42

Откройте synaptic и найдите «nautilus-hide», установите его. Выйти и войти. Теперь щелкните правой кнопкой мыши по любому файлу или папке. Теперь вы увидите опцию «Скрыть» в контекстном меню.

Это не изменит имя, но скроет папку.

0
ответ дан 22 December 2010 в 05:42

Я изменил хороший сценарий Элвина , чтобы он (надеюсь) был более Pythonic (и потенциально быстрее, если было добавлено много файлов, поскольку .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()]))
0
ответ дан 22 December 2010 в 05:42

Другие вопросы по тегам:

Похожие вопросы: