18 votes

Existe-t-il un moyen d'empêcher la création de ces fichus fichiers .DS_Store ?

Existe-t-il un moyen (par exemple, un piratage binaire du Finder) pour l'empêcher de créer des fichiers .DS-Stores sur les volumes LOCAUX ?

J'utilise Leopard, et par conséquent, cela ne fonctionne pas :

Aussi, BlueHarvest ralentit mon ordinateur.

10voto

LаngLаngС Points 7522

Pour éviter que ces affreux fichiers .DS_Store n'apparaissent, il semble qu'une option relativement nouvelle permette de le faire proprement, et pas seulement pour les lecteurs réseau, par exemple :

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

mais aussi pour les volumes connectés en USB :

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

En ce qui concerne le titre de la question de l'OP, c'est la meilleure solution sans bidouillage, puisqu'elle ne traite pas seulement le mauvais comportement du réseau mais est également affectée pour la plupart des disques connectés. Et c'est ce qui est le plus ennuyeux pour la plupart des utilisateurs qui partagent des périphériques comme les clés USB entre différents environnements. Il utilise uniquement les options fournies par Apple et n'interfère en aucun cas avec le fonctionnement normal.

Par rapport à la situation concrète expliquée dans le corps du PO, c'est d'une valeur limitée, puisque cette option USB n'est disponible que dans les versions ultérieures de OS X/MacOS. De plus, cela ne résout toujours pas le problème des .DS_Store création sur les disques internes, où ils peuvent également être une source de tracas. Bien qu'à cet endroit, ils puissent en fait servir à quelque chose.

Une solution plus complète à ce problème, bien que plus bricolée, qui fonctionne sur la plupart des versions du système d'exploitation Mac est la suivante : Pour éliminer complètement ce comportement désagréable sur tous les disques - et avec un injecteur de code ou un correcteur binaire comme le souhaite la question de l'OP - il y a DeathToDSStore / avec source .

Ces deux options supposent que quelqu'un utilise encore Finder L'utilisation d'un autre gestionnaire de fichiers résoudrait également ce problème. Il existe de nombreux prétendants au remplacement de Finder pour la gestion des fichiers sous MacOS. Deux des meilleurs dans ce domaine sont Éclaireur o XFile .

6voto

moodforaday Points 2633

Je n'ai pas trouvé de moyen d'empêcher leur création, mais vous pouvez les supprimer automatiquement avec un script :

#!/bin/sh

find ~ -name .DS_Store -exec /bin/rm -f -- {} \;

exit 0

Exécutez-le toutes les X minutes via launchd o cron . Il ne prend presque pas de temps pour fonctionner sur mon iMac vieux de plusieurs années. Il ne cherche que dans votre $HOME (~), mais c'est là que se trouvent la plupart des fichiers. Remplacez ~ par / si vous voulez les supprimer sur l'ensemble du disque, mais cela prendra beaucoup plus de temps, ajustez donc la fréquence en conséquence.

3voto

Siriss Points 227

Essayez cette commande : defaults write com.apple.desktopservices DSDontWriteNetworkStores true en terminal. Cela semble fonctionner pour moi.

3voto

Graham Perrin Points 7373

Solutions de tiers

D'après mon expérience, BlueHarvest est le meilleur de sa catégorie. Techniquement, il n'est pas une réponse à la question ; il peut enlever mais no prévenir .DS_Store des fichiers.

Si BlueHarvest est efficace mais ne convient pas à votre cas d'utilisation, il devient difficile de donner une réponse acceptable à votre question.

Si vous n'avez pas de solution tierce acceptable, vous devez travailler avec ce qui fait partie intégrante de Leopard

Sans solution tierce : limitez votre utilisation du Finder.

En évitant les vues que vous ne souhaitez pas sauvegarder, vous pouvez prévenir la création de .DS_Store des fichiers.

La plupart des utilisateurs auront du mal à se restreindre de cette manière, mais c'est une réponse correcte dans les limites de la question.

http://diigo.com/0qiwp pour une vue annotée de http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html où Matt Deatherage (un ancien ingénieur chez Apple) explique .DS_Store et d'autres types de fichiers.

1voto

Alex Points 1563

J'ai eu le même problème, et les solutions pour éviter ces fichiers gênants sur le disque local monté n'ont pas fonctionné pour moi.

Finalement, j'ai trouvé une solution appropriée, qui consiste à rechercher et à supprimer périodiquement ces fichiers sur le disque monté local uniquement. J'ai ajouté un cronjob avec le contenu suivant :

9 */1 * * * find -x ~ -path /Users/adietz/Library -prune -o -fstype local  -name .DS_Store -print -exec /bin/rm -f -- {} \; >> ~/.cron.log 2>&1

Voici ce que cela signifie :

  • 9 */1 * * * exécute la commande toutes les 9 minutes après l'heure (donc 10:09, 11:09, 12:09, ...)
  • find -x ... -fstype local (optionnel) Effectuez la recherche uniquement sur le système de fichiers monté local et ignorez tout autre disque monté sous ~
  • ~ le dossier à rechercher (dossier de base)
  • -path /Users/user/Library -prune -o (facultatif) expression à NE PAS rechercher dans le Library (ce qui pourrait provoquer des erreurs d'entrée/sortie).
  • -name .DS_Store le nom du fichier à rechercher
  • -print (facultatif) imprimer une occurrence trouvée
  • -exec /bin/rm -f -- {} \; supprimer le fichier
  • >> ~/.cron.log 2>&1 (facultatif) Ajoute la sortie dans un fichier, afin que vous puissiez vérifier qu'elle fonctionne, et où les fichiers gênants ont été supprimés.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X