Como parar de criar .DS_Store no Mac? [fechadas]

163

Estou desenvolvendo sites no mac e sempre que crio alguma pasta (ou arquivo nessa pasta) .DS_Store é criado nessa pasta.

Como evitar a criação de arquivo .DS_Store?

iWizard
fonte
Não gosto :) O que devo usar?
iWizard
1
@CroiOS Terminal + VIM
Greg
Foi um comentário como nenhuma alternativa real - em teoria, você poderia usar o terminal só ou outras ferramentas por exemplo, editores (ou eu acho Path Finder como um navegador de arquivos), mas na prática você está preso com esses arquivos
mmmmmm
7
Apenas ignorar o arquivo em seu sistema de controle de versão
millimoose
4
Esta pergunta parece estar fora de tópico porque se trata de hardware e software da Apple - o melhor ajuste seria Perguntar.
Dan J

Respostas:

36

É possível usando mach_inject . Dê uma olhada no Death para .DS_Store

Descobri que substituir HFSPlusPropertyStore :: FlushChanges () por uma função que simplesmente não fazia nada impediu com êxito a criação de arquivos .DS_Store no Snow Leopard e no Lion.

Código-fonte do DeathToDSStore

NOTA: No 10.11, você não pode injetar código nos aplicativos do sistema.

Parag Bafna
fonte
Por favor, você poderia fornecer alguma festança que eu possa copiar e colar no meu shell. Essa solução requer bastante envolvimento com a literatura.
samthebest
4
Você pode usar DeathToDSStore.app
Parag Bafna
Existe uma solução para 2019? Como DeathToDSStore não parece estar trabalhando em última MacOS de mais ...
JKL
@JKL Não tenho conhecimento de nenhuma solução que funcione.
Parag Bafna 31/10/19
44

Instale http://asepsis.binaryage.com/ e, em seguida, reinicie o seu mac.

O ASEPSIS redireciona todos os .DS_Store no seu mac para /usr/local/.dscage

Depois disso, você pode excluir recursivamente todos os .DS_Store do seu mac.

find ~ -name ".DS_Store" -delete
or
find <your path> -name ".DS_Store" -delete

Você deve repetir o procedimento após cada atualização principal do Mac.

myset
fonte
1
Nota para o Mac OSX 10.10, você deve atualizar o Xcode Command Line Tools e depois executar manualmente no terminal como root ou com sudo o seguinte comando xcrun --find codesign. Aceitar manualmente termo de licença e acordo eo que você poderia continuar a assepsia instalação
MYSET
Após cada atualização do sistema, é necessário reinstalar a versão mais recente.
myset
1
"A Asepsis implementa um daemon de todo o sistema asepsisd cujo objetivo é monitorar as renomeações (ou exclusões) de pastas em todo o sistema e espelhar essas operações na pasta de prefixo" Isso foi escrito na página da Asepsis. É realmente necessário excluir recursivamente os arquivos .DS_store?
vanguard69
"Instale assepsia" Por favor, você poderia me mostrar alguns comandos do bash para que eu possa copiar e colar esses comandos no meu shell?
samthebest
3
Ainda há uma maneira de fazer com que a Assepsia trabalhe sob o comando de El Capitan. Tenho documentado os passos aqui: pixelcog.com/blog/2016/disable-ds_store-in-el-capitan
mikegreiling
41

NOTA : "A assepsia não está mais em desenvolvimento ativo e é suportada no OS X 10.11 (El Capitan) e posterior."


Aqui está uma análise abrangente de suas opções. Asepsis (a segunda solução mencionada) parece ser o que você está procurando, redireciona a criação do .DS_Store para um cache unificado em vez de estar localizado em todas as pastas.

michel-slm
fonte
6
Caso o link corra mal, as duas opções mais prováveis ​​listadas nesse site são Asepsis (redireciona arquivos criados) e DeathToDSStore (impede a criação de arquivos, desativa alguns recursos do Finder), ambos descritos nas respostas desta página. As outras opções lidam com unidades de rede e unidades externas - ambas as quais resolvem apenas parte do problema.
sage
1
@emmanuel: Esta não inclui as partes essenciais: o nome de um programa e a característica específica que fornece para resolver o problema.
Nathan Tuggy
23

Terminal aberto. Execute este comando:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Reinicie o computador ou efetue logout e faça login novamente na conta de usuário.

para mais informações:

http://support.apple.com/kb/ht1629

user3817989
fonte
44
só se aplica a sistemas de arquivos de rede
David P. Caldwell
2

Coloque a seguinte linha no seu arquivo ".profile".

Abra o arquivo .profile e copie esta linha

find ~/ -name '.DS_Store' -delete

Quando você abre a janela do terminal, ele automaticamente exclui o arquivo .DS_Store para você.

Shanaka
fonte
9
executar isso no login atrasou as coisas, então eu apenas fiz esse alias:alias nomore='find ./ -iname .DS_Store -delete'
BenjaminGolder
6
Uau. Que boa ideia. Não. [/ irony off] Imagine ter muitas pastas e muitos arquivos .DS_Store e imagine passar por todos os arquivos correspondentes a .DS_Store toda vez que seu shell iniciar. Sei que essa pergunta é antiga, mas achei que deveria ser escrito que essa não é uma boa ideia.
Thonixx
3
Então, [/ ironia desligada] está desativando sua ironia ou terminando sua ironia, fazendo com que ela se ligue?
Connor
Essa é uma ótima maneira de diminuir o tempo (produtivo) enquanto o Mac pesquisa centenas de Ks de arquivos no disco.
javadba
-7

esse arquivo começa a aparecer quando você escolhe o sistema mostra os arquivos ocultos: $ defaults write com.apple.finder AppleShowAllFiles TRUE Se você executar este comando, desapareça $ defaults write com.apple.finder AppleShowAllFiles FALSE Use terminal

Dgoncalves
fonte
2
A pergunta pergunta como impedir que os arquivos sejam criados, não como escondê-los.
Steve Buzonas
-7

a função

find ~/ -name '.DS_Store' -delete

, removeu os arquivos de armazenamento .DS temporariamente. Mas não tenho certeza se os arquivos voltarão no Mac. Também notei algo peculiar, o "DS_Store" começa a chegar ao Mac após a instalação do 'ATOM'. Portanto, pessoal, verifique o software de terceiros corretamente antes de instalá-los. Melhor

Troca
fonte
5
Arquivos .DS_Store são criados pelo OSX Finder
Fran Marzoa
1
A pergunta pergunta como impedir que os arquivos sejam criados. Esta resposta é como excluí-los. Além disso, ATOMnão está criando os arquivos. O Finderaplicativo os cria ao visitar uma pasta para armazenar posições de ícones, exibição selecionada para a pasta, imagem de segundo plano etc. DS_Store, o DS é o Desktop Services.
Steve Buzonas
-12

Se você deseja que os .DS_Storearquivos fiquem invisíveis (eles ainda existem, mas não podem ser vistos), execute o seguinte comando na janela "Terminal":

defaults write com.apple.finder AppleShowAllFiles FALSE; killall Finder

Isso definirá o padrão do sistema para parar de mostrar esses arquivos na área de trabalho e em outros lugares. Ele também reiniciará o Finder para tornar visível essa alteração (especialmente na área de trabalho).

Edward Grabczewski
fonte
5
Isso não está respondendo à pergunta que foi feita.
ninguém
Ocultar a exibição de arquivos ocultos não remove a criação de arquivos .DS_Store, que é a pergunta que foi feita. Esta é uma resposta terrível.
8896168Data de publicação
A pergunta pergunta como impedir que os arquivos sejam criados. Esta solução os oculta (e outros arquivos) apenas no Finder.
Steve Buzonas