Como posso alterar ou ocultar o diretório ~ / snap?

75

Não gosto particularmente de aplicativos bagunçando meu $HOMEdiretório com seus próprios arquivos ou diretórios. Raramente é um problema, porque a maioria dos aplicativos tem a cortesia de ocultar seus dados prefixando-os com um ponto ou em conformidade com o ~/.configpadrão. Mas não estalar.

Q1 : Eu entendi errado este diretório? É ~/snaprealmente um diretório que eu deveria entrar e acesso diariamente a par com ~/downloads, ~/pictures, ~/work, etc?

P2 : De qualquer forma: posso movê-lo, por exemplo ~/.snap? Eu não consigo encontrar nada parecido /etc/snap, /etc/default/snapou ~/.config/snappara ajustar as coisas. Eu tentei, export SNAP_USER_DATA=$HOME/.snapmas não funcionou.

Stephan Henningsen
fonte
como um único arquivo pode bagunçar sua pasta pessoal?
doug 30/03
17
Não pode. Mas eu não tenho apenas esse arquivo no diretório da minha casa, tenho bastante. E muitos fazem um pouco de zoeira. Além disso, configurei meu sistema para que não seja exibido $ HOME / Desktop, mas $ HOME diretamente, porque faz mais sentido para mim dessa maneira, mas isso também significa que diretórios e arquivos indesejados aqui serão ainda mais visíveis e irritantes. E ainda há tudo sobre os aplicativos que devem esconder seus arquivos de configuração.
Stephan Henningsen 31/03
19
Ou pensando assim: de repente alguém entra, coloca uma caixa na sua mesa e sai novamente sem dizer uma palavra. Você não acha que em algum momento descobriria que a caixa estava no seu caminho e gostaria de removê-la? =) Eu com certeza gosto de decidir o que acontece na minha própria tabela e da mesma forma que arquivos são (visíveis) no meu $ HOME.
Stephan Henningsen 31/03
11
Trololo? Execute isso na sua pasta pessoal e você verá o que acontece se todos os programas apenas criarem uma única pasta no seu diretório pessoal: for f in .*; do g="${f#.}"; echo "How can a single file clutter your home folder? It's just ${g}." ; echo ln -sv "$f" "${g}_"; done isso é realmente inofensivo, mas você deve remover a última echoe acho que você "comprará minha linha" de pensamento ".
21718 Stephan Henningsen
10
As pessoas da Internet gostam de dizer como sua pergunta está errada, em vez de apenas respondê-la, não é?
Greg Greg

Respostas:

85

Assim..

A1 : não; ~/snapnão deve ser acessado manualmente diariamente; é um diretório de configurações.

A2 : Não; ~/snapnão pode ser mudado; está bagunçando o diretório da sua casa por design.

No entanto , já existe um relatório de bug sobre esse problema, mas atualmente é priorizado apenas como lista de desejos . Se você é afetado por esse bug (e você é se você tem um ~/snap=), então o tipo desenvolvedores sabem, e incentivá-los a corrigir o erro, elevando o seu significado:

  1. Vá para o relatório de erros
  2. Efetue login no Launchpad (canto superior direito).
  3. Clique em Este bug afeta N pessoas. Esse bug afeta você? (próximo ao canto superior esquerdo)
  4. Clique em Sim, esse bug me afeta

Enquanto isso, faça o que o @Rinzwind sugere e simplesmente oculte o diretório do Nautilus digitando isso em um shell:

echo snap >> ~/.hidden

A alternativa se livra completamente do snap desinstalando completamente tudo o snap relacionado, conforme descrito aqui .

Stephan Henningsen
fonte
23
Feito. Obrigado por apontar esse relatório de bug. Acredite, se um diretório de snap aparecer no meu $ HOME quando eu instalar um snap, posso dizer com confiança que nunca usarei essa tecnologia. Se, como suspeito, isso se tornar um pedaço concreto do cenário do Ubuntu, terei que repensar meu compromisso de décadas com a plataforma. Decisão maluca.
Scaine
11
Apenas votei também - parece que algo pode estar acontecendo. Vou repetir o comentário de Stephan no relatório de erro: "É 2017, vamos lá".
Larpon
5
É 2019, e ainda não há progresso nisso. Vamos! Removendo o snap agora.
Murphy
20

Q1: Eu entendi errado este diretório? ~ / Snap é realmente um diretório no qual devo entrar e acessar diariamente, comparável a ~ / downloads, ~ / work, ~ / tmp, etc?

É um diretório regular, mas não é realmente destinado ao acesso do usuário. É gerenciado pelo snapdutilitário. Parece provável ele será renomeado para ~/.snapem algum momento. Ou menos provável ~/.local/share/snap.

P2: De qualquer forma: como oculto?

Quando for renomeado, será ocultado automaticamente.

Para se esconder do shell da área de trabalho por enquanto, crie um arquivo de texto chamado ~/.hiddene coloque a palavra "snap" nele. Isso ocultará a pasta "~ / snap" do Nautilus.

Para ocultar da linha de comando por enquanto, alias lspara ls -Isnap. Agora "snap" será ignorado quando ls-ing.

Rinzwind
fonte
11
"alias ls para ls -Isnap" Observe que ele ocultará "snap" onde quer que você execute ls, não apenas no diretório $ HOME. A solução real pertence ao snap.
precisa saber é o seguinte
Esta solução não mostra show the snap directory, mas também ignora as preferências de cores que salvei para diferentes tipos de arquivo, ou seja, não há como distinguir visualmente entre arquivos e diretórios. Alguma dica?
Nicholas Cousar 08/04
5

Todos os aplicativos de snap em si (caso estejam instalados) estão localizados no /snapdiretório
/home/user/snapcontém suas configurações pessoais desses snaps (caso estejam instalados).
A /home/user/snappasta foi criada uma vez quando você instalou o primeiro snappacote.

Caso não tenha aplicativos de snap instalados, você pode excluir a /home/user/snappasta.
Se você instalar e usar novos aplicativos de snap, a pasta será recriada - isso é feito por design.
Como snapdestá o "trabalho em andamento" - talvez outro diretório padrão possa ser selecionado no futuro.

cl-netbox
fonte
3
Se você deseja uma opção de configuração para isso, eu recomendo a apresentação de um bug contra si mesmo snapD, aqui: - bugs.launchpad.net/snappy/+bugs
Popey
11
@ popey Muito antes de você =) Eu até descobri que alguém já registrou um relatório de erro. Estou respondendo à minha própria pergunta com instruções sobre como incentivar os desenvolvedores a corrigi-la.
Stephan Henningsen
-3

Eu acho que realmente tenho uma solução para isso! Bem, mais ou menos. Há uma extensão do Nautilus chamada "Nautilus Hide" que oculta arquivos e pastas sem alterar o nome. Basicamente, grava o nome da pasta em um arquivo que o Nautilus usa para verificar se uma pasta deve estar oculta ou não.

Funciona como um encanto!

https://github.com/brunonova/nautilus-hide

David A. Francês
fonte
11
Não tenho certeza do que fazer com isso. Embora isso responda à metade do título da pergunta, não trata de nenhuma das duas perguntas no corpo. Você descreve outra echo snap >> ~/.hiddensolução alternativa para ocultar um diretório no Nautilus, embora (o que eu vejo seja) um plug-in fácil de usar para usuários que não se sintam confortáveis ​​com one-liners de shell (ie. ) ... mas sabem o que querem ao redor git, cmakee sudo make install. Eu acho que isso adiciona algo novo à tabela.
Stephan Henningsen
Às vezes, você deseja ocultar e exibir uma pasta sem precisar abrir sua CLI, sabe? É mais rápido clicar com o botão direito do mouse em algo e dizer ocultar do que abrir um programa e digitar um comando. Pelo menos para mim.
David A. French
11
Você diz "às vezes", mas esta pergunta é sobre um único diretório . E você ainda precisa "puxar a CLI" para fazer o trabalho que propõe, e precisa instalar o git para puxá-lo, e todo o sistema de compilação para compilá-lo, e finalmente executar sudopara instalá-lo. Isso é muito mais complicado. Pelo menos para mim.
Stephan Henningsen
Legal, realmente não vejo por que vale a pena uma votação negativa. Parece não estar dentro das diretrizes da comunidade. Minha solução não está errada e pode ser considerada útil para alguém que visualiza esta página.
David A. French
Sua solução para adicionar snapao ~/.hiddenque já foi explicado em duas respostas existentes; A única diferença é que sua abordagem é muito mais complicada . Eu não acho isso útil, eu não recomendaria essa abordagem a ninguém, portanto -1 à utilidade.
21918 Stephan Henningsen