Sous OS X Mavericks, Apple a décidé de « protéger » les fichiers de préférences. Plus concrètement, il y a un cache qui empêche la modification « sauvage » des fichiers .plist
d’une application : si vous essayez de modifier un fichier manuellement (ou de le supprimer), la version en cache remplacera automatiquement vos modifications.
Si vous passez par les commandes classiques (defaults write...
), pas de soucis : ça devrait fonctionner. Mais si vous utilisez un éditeur de texte ou l’éditeur de plist de Xcode, ça ne fonctionnera pas.
Même chose, si vous essayez de supprimer sauvagement les préférences d’un programme en passant par le Finder, c’est peine perdue : le simple fait de relancer le programme récupère la version en cache du fichier précédent.
La solution « propre » consiste à obliger le système à lire les préférences avec la commande suivante :
defaults read ...
Si jamais ça ne fonctionne pas, il existe une autre solution.
Une autre solution que j’ai trouvé pour (vraiment) supprimer les préférences d’un programme consiste — c’est assez sale — à fermer le daemon qui gère la mise en cache.
C’est assez simple : il faut tuer le processus cfprefsd
dans le Moniteur d’activité. Attention à un point : il y a a priori deux instances du processus, il faut simplement fermer celle qui est à votre nom et pas celle qui est lancée par l’utilisateur root.
Une fois le processus fermé, vous pouvez supprimer les fichiers .plist
d’un programme. Ensuite, le mieux est de redémarrer. A n’utiliser qu’en cas de gros problèmes, évidemment…
Une idée de la motivation d’Apple sur cela? Ca peut dépanner ce genre de choses pourtant.
Mais non, ce n’est pas sale : https://www.youtube.com/watch?v=SiGee2hGqBc
@Kadoma : éviter qu’on fasse des bêtises je suppose
Eh bien, si je tue le cfprefsd, je ne peux plus supprimer le fichier plist. Bizarre, non ?
Beaucoup plus simple et sans risque :
Après avoir fait la modif, lire simplement le fichier .plist avec la commande « defaults read »
Un exemple qui peut être utile a d’autres :
Je voulais ajouter des éléments dans la barre du finder, et sur une install clean de Mavericks je n’y arrive pas (je suppose que c’est une nouveauté de 10.9 ??). En revanche, sur la mise a jour que j’ai faite sur une autre machine, il a récupéré les prefs du finder précédent et les éléments sont restés !
Donc j’ai voulu récupérer le plist de ma machine mise a jour, vu que les éléments en question existent sur mes deux machines au même endroit.
J’ai changé simplement les fichiers et en effet rien ne se passait.
J’ai donc modifié le plist, lancé la commande :
defaults read /Users/mon_nom/Library/Preferences/com.apple.finder.plist
puis après avoir quitté et relancé le finder, j’avais mes deux éléments dans la barre de fenêtres !
Cool :)
Désolé mon post n’est pas très clair, voila ce que c’est de ne pas se relire abat de poster ! ;)