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

14

Existe-t-il un moyen (par exemple un piratage binaire dans Finder) de l'empêcher de créer .DS-Stores sur des volumes LOCAL?

J'utilise Leopard, donc cela ne fonctionne pas:

En outre, BlueHarvest ralentit mon ordinateur.

kinokijuf
la source
1
Voir: Empêcher MacOS de créer des fichiers. * Et ._ * - une raison spécifique pour laquelle vous ne les souhaitez pas?
Slhck
@slhck: blueharvest fonctionne, mais ralentit mon ordinateur. Je cherche quelque chose comme ça
kinokijuf
J'ai oublié que TotalFinder ne fonctionne que sur ≥ 10.6, désolé.
Slhck
Cette question serait trop localisée si elle était spécifique à Leopard et antérieure. Les réponses pourraient simplement mentionner la version actuellement prise en charge la plus basse ou la plus élevée, le cas échéant.
Lri

Réponses:

3

Solutions tierces

D'après mon expérience, BlueHarvest est le meilleur de sa classe. Techniquement, ce n'est pas une réponse à la question. il peut supprimer mais pas empêcher les .DS_Storefichiers.

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 de Finder

En évitant les vues que vous ne souhaitez pas enregistrer, vous pouvez empêcher la création de .DS_Storefichiers.

La plupart des utilisateurs auront du mal à se retenir de cette façon, mais c'est une vraie réponse 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_Storeet d'autres types de fichiers.

Graham Perrin
la source
6

Je n'ai trouvé aucun 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

Lancez-le toutes les X minutes via launchdou cron. Mon iMac, vieux de plusieurs années, ne prend presque pas de temps. Il ne cherchera que votre $ HOME (~) mais c'est là que se trouveront la plupart d'entre eux. Modifiez ~ en / si vous souhaitez les supprimer sur l’ensemble du lecteur, mais l’exécution prend beaucoup plus de temps. Réglez donc la fréquence en conséquence.

TJ Luoma
la source
1
Vous pouvez également utiliser find ~ -name .DS_Store -delete. Et n'oubliez pas le -namedrapeau - sans cela, la commande s'appliquerait à tous les fichiers de ~et ./.DS_Store.
Lri
1
Je sais que je peux utiliser un script, mais votre réponse ne répond pas à la question.
Kinokijuf
La réponse à la question est "non". Il n'y a pas moyen d'empêcher leur création (sauf sur les partages réseau, ce qui n'était pas la question non plus). Cette réponse tente d'atteindre le même résultat final. Si SE avait une catégorie de réponse appelée "Solution de contournement", je l'aurais placée dans cette catégorie. Ce n'est certainement pas pire d'une "réponse" qu'un démon attaché à un framework (< asepsis.binaryage.com/> ), et bien plus sûr qu'un piratage dans un binaire système, et qu'il fonctionne sur toutes les versions de Mac OS X.
TJ Luoma
Sauf que cela n'atteint pas le même résultat final. Blueharvest est une meilleure solution de contournement (même résultat final, à part le fait que l'ordinateur fonctionne à la pelle). L'asepsie est également un moteur IIRC.
kinokijuf
1
@kinokijuf, abandonnez l'attitude autorisée. Quand quelqu'un vous offre une aide gratuite, vous ne pouvez pas la critiquer. Il est juste de dire simplement, une fois, que ce n'est pas ce que vous recherchez, mais que la défense de TJ Luoma (que vous avez rendue tristement nécessaire) est plus que suffisante pour que vous la fermiez. Jeez.
r_alex_hall
4

Pour empêcher ces fichiers .DS_Store laids d’apparaître, il semble y avoir une option relativement nouvelle pour le faire proprement, pas seulement pour les lecteurs réseau, comme:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

mais aussi pour les volumes connectés par USB:

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

Par rapport au titre de la question OP, il s’agit de la meilleure solution sans piratage informatique, car elle corrige non seulement les problèmes de comportement du réseau mais s’applique également à la plupart des disques connectés. Et ceux-ci pourraient être la plus grande gêne pour la plupart des utilisateurs partageant des périphériques tels que des clés USB entre différents environnements. Il utilise uniquement les options fournies par Apple et n'interfère en aucune manière avec le fonctionnement normal.

Par rapport à la situation concrète expliquée dans le corps des PO, sa valeur est limitée car cette option USB n’est disponible que dans les versions ultérieures d’OS X / macOS. En outre, cela ne résout toujours pas le problème de la .DS_Storecréation sur des disques internes, où ils peuvent également être un problème à résoudre. Bien qu’à cet endroit, ils puissent servir à quelque chose.

Une solution plus complète à ce problème, bien que plus sophistiquée, qui fonctionne sur la plupart des versions du système d’exploitation Mac est la suivante: le PO aspire - il y a DeathToDSStore / with source .

Ces deux options supposent que quiconque utilise encore le Finder… L'utilisation d'un autre gestionnaire de fichiers résoudrait également ce problème. Il existe de nombreux candidats au remplacement du Finder pour la gestion de fichiers sous macOS. Pathfinder ou XFile sont deux des meilleurs choix dans ce domaine .

LangLangC
la source
2
+1 pour la commande USBStores (je ne le connaissais pas!) Ainsi que DeathToDSStore.
Wowfunhappy
3

Essayez cette commande: defaults write com.apple.desktopservices DSDontWriteNetworkStores true dans le terminal. Il semble fonctionner pour moi.

Siriss
la source
4
Cela ne fonctionne que pour le réseau, pas pour les volumes locaux.
kinokijuf
Vous avez raison. Je m'excuse pour ma confusion.
4
C'est le seul cas réel dans lequel je pourrais voir .DS_Stores être ennuyeux. Ils sont masqués par défaut sur Mac OS et sont essentiels pour enregistrer les paramètres d'affichage de dossiers individuels
Alexander
2
Mais je ne veux pas enregistrer les paramètres d'affichage.
Kinokijuf
1

J'ai créé un script plus efficace (destiné à être exécuté en permanence en tant que démon), il effectuera une exécution findau début pour effacer les fichiers existants et capturera les nouveaux fichiers en temps réel via fsevents. Ainsi, ils seront immédiatement détruits au fur et à mesure de leur création, et l'utilisation des ressources est très faible. Autant que je sache, c’est le meilleur moyen de s’en débarrasser sans désactiver SIP.
La voici - https://github.com/magicgoose/DS_Store-Kill

Sarge Borsch
la source