Como ocultar (em Thunar e Nautilus) um diretório sem colocar um ponto em seu nome?


14

Normalmente, os programas Linux armazenam as configurações do usuário nos diretórios ~ /.*. Infelizmente, porém, alguns desenvolvedores (de alguns aplicativos que eu preciso) não seguem esta regra e não iniciam os nomes das pastas de armazenamento de configurações com um ponto. Isso resulta na confusão de pastas que nunca são usadas pelo usuário (talvez não seja a palavra certa, pois não existem muitas, mas que de qualquer forma incomodam) um diretório inicial. Renomeá-los não é uma opção, pois os aplicativos não os encontrarão neste caso (e os criarão novamente).

Existe uma maneira de ocultar uma pasta sem ponto começando o nome de ser exibida em navegadores comuns do sistema de arquivos (eu realmente uso o Thunar do XFCE, juntamente com o Midnight Commander e o Krusader, mas também não me importo em saber sobre o Nautilus).

Respostas:


18

O Nautilus (atualização: isso também deve funcionar com o Thunar agora) ocultará qualquer arquivo ou pasta listado no arquivo .hiddenlocalizado no mesmo diretório.

Há duas maneiras de ocultar uma pasta no Nautilus:

Script Nautilus

  1. Salve o código a seguir em um novo arquivo na sua pasta pessoal. Dê um nome 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. Execute o seguinte comando para instalar o script:

    cp Hide ~/.local/share/nautilus/scripts/ && chmod u+x ~/.local/share/nautilus/scripts/Hide
    
  3. No Nautilus, selecione um ou mais arquivos / pastas e clique com o botão direito do mouse. Selecione Ocultar no menu Scripts :

    insira a descrição da imagem aqui

    Recarregue a localização atual ( F5) e os arquivos / pastas selecionados serão ocultados.

Linha de comando

Digamos que você queira ocultar uma pasta chamada "Os Maiores Sucessos de Rick Astley", basta executar o seguinte comando:

echo "Rick Astley's Greatest Hits" >> .hidden

2
Exatamente um tipo de resposta que eu gostaria de receber. Mas, infelizmente, não funciona para Thunar.
Ivan

@ Ivan, espero que eles o adicionem eventualmente, veja o relatório de bug ao qual vinculei minha resposta.
Isaiah

Por que aspas duplas "ObnoxiousFolder" ??
karthick87

Para sua informação, o relatório de bug foi fechado como WONTFIX (IMO bastante grosseiro, pois já havia um patch para ele, e o mantenedor do projeto basicamente disse "eu não ligo"). Vamos precisar de uma outra solução ...
waldyrious

A versão recente do Thunar suporta isso, pois eles usam o GIO para determinar diretórios ocultos, e agora o GIO implementa o suporte ao .hiddenarquivo.
11139 Brian Campbell

1

Abra o synaptic e procure por "nautilus-hide", instale-o. Logout e login. Agora clique com o botão direito do mouse em qualquer arquivo ou pasta. Você agora verá a opção "Ocultar" no menu de contexto.

Não modifica o nome, mas oculta a pasta.


0

Eu modifiquei bom roteiro de Alvin ser (espero) mais Pythonic (e potencialmente mais rápido se muitos arquivos são adicionados, uma vez que .hiddené aberto apenas uma vez):

#!/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()]))
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.