Como impedir que o Mac OS X crie arquivos .DS_Store em volumes não Mac (HFS)?


17

Existe uma maneira de impedir que o Mac OS X crie .DS_Store e outros meta-arquivos ocultos em volumes externos como NTFS e FAT? Compartilho uma partição NTFS com dados como os perfis do Thunderird e Firefox e o DocumentRoot do apache, entre o Mac OS X e o Windows, o que é muito útil. Não me importo se o Mac OS X não é capaz de indexar ou de fazer as coisas legais que esses metarquivos servem.

Nota: Não é compartilhado em uma rede, os sistemas operacionais e a partição compartilhada coexistem no mesmo disco, na mesma máquina.

Respostas:


19

Se você estiver compartilhando a partição NTFS em uma rede, usando SMB ou algo parecido, poderá desativá-la.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Boletim técnico da Apple " Como impedir a criação de arquivos .DS_Store em conexões de rede ". Não verifiquei se isso ainda funciona com o Snow Leopard.


Não tenho certeza de que funcione, a menos que eles estejam em uma unidade de rede.
Alex

@ alex Eu acho que você está certo. O OP não disse como está compartilhando a partição NTFS. Vou editar minha resposta, mas pode estar totalmente errada.
Richard Hoskins

Não, não pela rede. Apenas um disco, Mac OS em uma partição, Windows na outra e uma partição NTFS para arquivos compartilhados.
Petruza 28/09/09

PS: Desculpe, o que significa OP? Eu sei que isso se refere a mim, mas não sei o significado.
Petruza 28/09/09

11
@ Richard Hoskins: sua resposta se refere a impedir a criação de arquivos .DS_Store pela rede. Não há como parar isso se estiver na mesma unidade. @sudo petrutza: meios OP poster original (não tinha idéia de qualquer um)
alex

5

Eu uso isso eu configurei uma vez quando fiquei irritado com o mesmo problema. Este método faz com que o sistema faça tudo automaticamente.

  1. Crie um script chamado Remove_Hidden_Files.sh abrindo o terminal e, por exemplo, cd ~ / Documents e digite touch Remove_Hidden_Files.sh

  2. Usando vi, crie o script. No tipo de terminalvi Remove_Hidden_Files.sh

  3. Pressione "I" para entrar no modo de inserção e digite o seguinte (Dica para obter # pressione alt e 3)

    #!/bin/bash
    # Removing the hidden files from my drive using the find command. Change xxx to the name of your external volume or path you wish to run the command on.
    # the -mount will stop the find command going to other volumes other than specified.
    
    find -x /Volumes/(xxx) -mount -name '.DS_Store' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Spotlight-V100' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '._.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.fseventsd' | xargs rm -rf
    
  4. Pressione escape para sair do modo de inserção, mantenha pressionada a tecla Shift e pressione :

  5. Digite wq!e pressione enter

  6. Tornar o script executável chmod 775 ~/Documents/Remove_Hidden_Files.sh

  7. Teste isso para garantir que funcione. Você pode fazer isso facilmente, abrindo o terminal e digite cd / Volumes / (xxx), pressione enter e, em seguida, ls -la para listar todos os arquivos. Você verá uma .DS_Store se não navegar com o localizador até o volume e repita o comando e você deve ver um lá.

  8. Abra outro terminal pressionando a tecla de comando e N

  9. Tipo cd ~/Documents

  10. Tipo sh Remove_Hidden_Files.sh

  11. Vá para a outra janela do terminal e verifique se os arquivos .DS_Store foram removidos.

  12. Crie um daemon de inicialização. Isso significa executar automaticamente para que você não precise fazer nada.

    A melhor maneira é baixar o lingon

  13. Crie um daemon para sua conta de usuário e chame-o de com.remove_hidden_files.Launchd

  14. Na caixa de comando, digite sh ~/Documents/Remove_Hidden_Files.sh

  15. Você pode digitar o caminho ou navegar até ele / Volumes / (xxx)

  16. Reinicie a máquina e experimente

Observe que, se você renomear sua unidade externa, use uma unidade ou caminho nomeado diferente, para alterar o script.


6
Eu gosto de como essa resposta se tornou um tutorial do vim. Haha
macek

Você pode adicionar scripts de logout do Mac sem pagar por aplicativos de terceiros usando o sudo defaults... seekill.wordpress.com/2012/02/23/…
mcandre:

Então essa limpeza vai acontecer quando? quando você faz login?
Larsh

4

Eu uso o BlueHarvest para esse fim:

https://zeroonetwenty.com/blueharvest/

Funciona em todos os volumes e não apenas nos compartilhamentos de rede, conforme a solução da Apple.


FYI, BlueHarvest é um programa Mac que custa US $ 15 US por 3 computadores (mais $ para mais computadores), e tem um "teste gratuito de 30 dias"
Xen2050

O site da BlueHarvest vinculado acima não responde no momento, o que parece significar que o suporte não está disponível. No entanto, o aplicativo está na App Store.
LarsH

Eu atualizei o URL.
Asinine Monkey
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.