Empêcher OS X de créer des fichiers .DS_Store sur le réseau

Si vous passez de temps en temps d’OS X à un autre système, les fichiers .DS_Store doivent parfois vous énerver : OS X a tendance à ajouter ces derniers dans tous les dossiers. Il est possible de bloquer ce comportement sur le réseau mais – malheureusement – pas sur une clé USB (contrairement à ce que l’on peut parfois lire).

Le premier truc à savoir : c’est quoi un .DS_Store ? Le nom signifie Desktop Service Store et il est précédé d’un point parce que (Mac) OS X et les UNIX en général cachent les fichiers dont le nom commence par un point. Le fichier contient en fait la position des icônes, la taille des icônes, le fond d’écran du dossier, etc. En gros, tous les paramètres d’affichage du Finder sont stockés dans ce fichier. le Finder va donc créer un fichier .DS_Store (caché) dans chaque dossier où vous allez modifier les paramètres par défaut : si vous naviguez avec la vue en colonnes dans le Finder, il ne devrait pas créer de fichiers .DS_Store.

Sur un Mac, le fichier ne pose normalement pas de soucis, vu que le système le cache. Le problème survient essentiellement si vous transférez des données : les dossiers compressés contiennent le fichier, tout comme les clés USB, les partages réseaux, etc. Et comme Windows a tendance à afficher les fichiers dont le nom commence par un point (et qu’une bonne partie des utilisateurs affiche les fichiers cachés), ça peut vite devenir énervant.

Il existe une commande pour empêcher la création des fichiers sur un partage réseau, ce qui est pratique pour éviter d’embêter d’autres personnes. Attention, et c’est logique, empêcher la création des fichiers empêche aussi au Finder de sauver les données : les paramètres par défaut seront donc utilisés automatiquement et les déplacements d’icônes ne seront pas sauvegardés.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Après avoir tapé la commande, vous pouvez soit redémarrer soit relancer le Finder (killall Finder).

J’ai aussi vu plusieurs fois une commande qui doit (selon les auteurs) empêcher la création du .DS_Store mais ça ne fonctionne tout simplement pas. Elle se retrouve dans diverses listes de trucs à corriger sous Mac OS X, qui ne sont donc visiblement pas testées… La commande (pour mémoire, vu qu’en plus elle est fausse, le -bool ne sert à rien).

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
(attention, donc, la ligne précédente ne fonctionne pas)