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

16

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? Eu compartilho uma partição NTFS com dados como Thunderird & Perfis do Firefox e DocumentRoot do Apache, entre Mac OS X e Windows, o que é muito útil. Eu não me importo se o Mac OS X não é capaz de indexar ou fazer as coisas legais para as quais os metarquivos são usados.

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

    
por Petruza 28.09.2009 / 14:56

3 respostas

18

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

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Apple Tech Bulletin " Como evitar a criação de arquivos .DS_Store através de conexões de rede ". Eu não verifiquei que isso ainda funciona com o Snow Leopard.

    
por 28.09.2009 / 15:12
5

Eu uso isso eu configurei uma vez quando eu fiquei irritado com o mesmo problema. Este método faz o sistema fazer 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 o vi, crie o script. No tipo de terminal vi 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 e segure shift e pressione :

  5. Digite wq! e, em seguida, pressione Enter

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

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

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

  9. Digite cd ~/Documents

  10. Digite 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 lançamento. 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 com.remove_hidden_files.Launchd

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

  15. Você pode digitar o caminho ou procurar por ele / Volumes / (xxx)

  16. Reinicie a máquina e experimente-a

Observe que, se você renomear sua unidade externa, usar uma unidade ou caminho nomeado diferente, será necessário alterar o script.

    
por 16.09.2010 / 20:49
4

Eu uso o BlueHarvest para esse propósito:

link

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

    
por 16.09.2010 / 22:42