Comment arrêter de créer .DS_Store sur Mac? [fermé]

163

Je développe des sites sur mac et chaque fois que je crée un dossier (ou un fichier dans ce dossier) .DS_Store est créé dans ce dossier.

Comment empêcher la création d'un fichier .DS_Store?

iWizard
la source
Je n'aime pas :) Que dois-je utiliser?
iWizard
1
@CroiOS Terminal + VIM
Greg
C'était un commentaire qui ne constituait pas une véritable alternative - en théorie, vous pouviez utiliser uniquement le terminal ou d'autres outils, par exemple des éditeurs (ou je pense que Path Finder en tant que navigateur de fichiers), mais en pratique, vous êtes coincé avec ces fichiers
mmmmmm
7
Ignorez
4
Cette question semble être hors sujet car elle concerne le matériel et les logiciels Apple - la meilleure solution serait Ask Different.
Dan J

Réponses:

36

C'est possible en utilisant mach_inject . Jetez un œil à Death to .DS_Store

J'ai trouvé que remplacer HFSPlusPropertyStore :: FlushChanges () avec une fonction qui ne faisait tout simplement rien, empêchait avec succès la création de fichiers .DS_Store sur Snow Leopard et Lion.

Code source de DeathToDSStore

REMARQUE: le 10.11, vous ne pouvez pas injecter de code dans les applications système.

Parag Bafna
la source
Pourriez-vous fournir un peu de bash que je peux copier et coller dans mon shell. Cette solution nécessite un peu d'engagement avec la littérature.
samthebest
4
Vous pouvez utiliser DeathToDSStore.app
Parag Bafna
Existe-t-il une solution 2019? Comme DeathToDSStore ne semble plus fonctionner sur les derniers MacOS ...
JKL
@JKL Je ne connais aucune solution qui fonctionne.
Parag Bafna
44

Veuillez installer http://asepsis.binaryage.com/ , puis redémarrez votre Mac.

ASEPSIS redirige tous les .DS_Store de votre Mac vers /usr/local/.dscage

Après cela, vous pouvez supprimer récursivement tous les .DS_Store de votre mac.

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

Vous devez répéter la procédure après chaque mise à jour majeure de Mac.

myset
la source
1
Remarque pour Mac OSX 10.10, vous devez mettre à niveau les outils de ligne de commande Xcode et ensuite exécuter manuellement dans le terminal comme root ou avec sudo la commande suivante xcrun --find codesign. Acceptez manuellement les termes et le contrat de licence et vous pouvez continuer l'installation d'asepsie
myset
Après chaque mise à niveau du système, il est nécessaire de rétablir la dernière version.
myset
1
«Asepsis implémente un démon asepsisd à l'échelle du système dont le but est de surveiller les renoms (ou suppressions) de dossiers à l'échelle du système et de refléter ces opérations dans le dossier des préfixes» Cela a été écrit sur la page d'Asepsis. Est-il vraiment nécessaire de supprimer récursivement les fichiers .DS_store?
vanguard69
"Veuillez installer asepsis" Pouvez-vous me montrer quelques commandes bash pour que je puisse simplement les copier et les coller dans mon shell?
samthebest
3
Il existe encore un moyen de faire fonctionner Asepsis sous El Capitan. J'ai documenté les étapes ici: pixelcog.com/blog/2016/disable-ds_store-in-el-capitan
mikegreiling
41

REMARQUE : «Asepsis n'est plus en développement actif et pris en charge sous OS X 10.11 (El Capitan) et versions ultérieures.»


Voici un examen complet de vos options. L'asepsie (la deuxième solution mentionnée) semble être ce que vous recherchez, elle redirige la création du .DS_Store vers un cache unifié au lieu d'être située sur chaque dossier.

michel-slm
la source
6
Au cas où le lien ne fonctionne pas correctement, les deux options les plus probables répertoriées sur ce site sont Asepsis (redirige les fichiers créés) et DeathToDSStore (empêche la création de fichiers, désactivant certaines fonctionnalités du Finder), qui sont toutes deux décrites dans les réponses sur cette page. Les autres options concernent les lecteurs réseau et les lecteurs externes, qui ne résolvent qu’une partie du problème.
sage
1
@emmanuel: Cela ne comprend les parties essentielles: le nom d'un programme et la fonction spécifique , il fournit pour résoudre le problème.
Nathan Tuggy
23

Ouvrez le terminal. Exécutez cette commande:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Redémarrez l'ordinateur ou déconnectez-vous et reconnectez-vous au compte d'utilisateur.

pour plus d'informations:

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

user3817989
la source
44
s'applique uniquement aux systèmes de fichiers réseau
David P. Caldwell
2

Mettez la ligne suivante dans votre fichier ".profile".

Ouvrez le fichier .profile et copiez cette ligne

find ~/ -name '.DS_Store' -delete

Lorsque vous ouvrez la fenêtre du terminal, il supprimera automatiquement votre fichier .DS_Store pour vous.

Shanaka
la source
9
exécuter ceci à la connexion a ralenti les choses, alors je viens de créer cet alias:alias nomore='find ./ -iname .DS_Store -delete'
BenjaminGolder
6
Sensationnel. Une si bonne idée. Ne pas. [/ irony off] Imaginez avoir de nombreux dossiers et de nombreux fichiers .DS_Store et imaginez parcourir tous les fichiers correspondant à .DS_Store à chaque démarrage de votre shell. Je sais que cette question est ancienne mais j'ai pensé qu'il fallait écrire que ce n'est pas une bonne idée.
thonixx
3
Alors, est-ce que [/ irony off] éteint votre ironie ou met fin à votre ironie en l'activant?
Connor
C'est un excellent moyen de tuer le temps (productif) pendant que mac recherche des centaines de K de fichiers sur le disque.
javadba
-7

ce fichier commence à apparaître lorsque vous choisissez le système vous montre les fichiers cachés: $ defaults write com.apple.finder AppleShowAllFiles TRUE Si vous exécutez cette commande disapear $ defaults write com.apple.finder AppleShowAllFiles FALSE Use terminal

Dgoncalves
la source
2
La question demande comment empêcher la création des fichiers, pas comment les masquer.
Steve Buzonas
-7

la fonction

find ~/ -name '.DS_Store' -delete

, a supprimé temporairement les fichiers de stockage .DS. Mais je ne sais pas si les fichiers reviendront sur le Mac. J'ai également remarqué quelque chose de particulier, le "DS_Store" commence à arriver sur le Mac après l'installation de "ATOM". Alors les gars, assurez-vous de scanner correctement vos logiciels tiers avant de les installer. Meilleur

Échanger
la source
5
Les fichiers .DS_Store sont créés par OSX Finder
Fran Marzoa
1
La question demande comment arrêter la création des fichiers. Cette réponse explique comment les supprimer. En outre, ATOMne crée pas les fichiers. L' Finderapplication les crée lors de la visite d'un dossier pour stocker les positions des icônes, la vue sélectionnée pour le dossier, l'image d'arrière-plan, etc. DS_Store, DS est Desktop Services.
Steve Buzonas
-12

Si vous souhaitez que les .DS_Storefichiers deviennent invisibles (ils existent toujours mais ne sont pas visibles), exécutez la commande suivante dans la fenêtre "Terminal":

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

Cela définira le système par défaut pour arrêter d'afficher ces fichiers sur votre bureau et ailleurs. Il redémarrera également le Finder afin de rendre ce changement visible (en particulier sur votre bureau).

Edward Grabczewski
la source
5
Cela ne répond pas à la question qui a été posée.
personne
Masquer l'affichage des fichiers cachés ne supprime pas la création de fichiers .DS_Store, qui est la question qui a été posée. C'est une réponse terrible.
MattBoothDev
La question demande comment arrêter la création des fichiers. Cette solution les masque (et les autres fichiers) uniquement dans le Finder.
Steve Buzonas