[OSX Maverick] Effacer un fichier plist de la corbeille
Débloquer un élément en cours d'utilisation pour vider la corbeille
Préambule
Cet article fait appel à des connaissances un peu plus poussées de OS X. L'utilisation du terminal et des commandes de type Unix en est la base. Il est donc réservé à des utilisateurs avertis.De plus, la documentation sur les fichiers plist mentionne le côté important de ces fichiers. Il ne faut donc pas suivre aveuglément les instructions données ici. Elles ne sont données qu'à titre de ligne de conduite.
Je ne pourrais en aucun cas être tenu pour responsable d'un quelconque problème survenant à la suite de l'utilisation de ces instructions.
Situation de départ
J'avais installé un logiciel pour le tester. Ne désirant pas le conserver, je l'ai désinstallé à l'aide de l'application AppCleaner.Celle-ci ne se contente pas de mettre l'application à la poubelle. Elle recherche aussi les fichiers liés. On peut alors choisir quels fichiers mettre à la poubelle.
Puis, comme d'habitude, on vide la corbeille.
Et Zut !
Et là, la mauvaise surprise. Une fenêtre pop-up m'avertit qu'un fichier xxxxxxx.plist ne peut pas être effacé car il est en cours d'utilisation.Après vérification, l'application est bien fermée. Je devais rebooter le Mac suite à une mise à jour, j'en profite, en espérant que cela va solutionner mon problème.
Peine perdue, même message d'erreur. Le fichier est donc toujours utilisé !
Oui, mais par qui/quoi ?
OS X est basé sur un système Unix. J'espère donc trouver dans la boîte à outils Unix un utilitaire qui s'appelle lsof. lsof signifie "List Open Files". J'ai de la chance car il fait bien partie de l'installation.J'ouvre un terminal et là, je tape:
sudo -i(en remplaçant xxxxxx par le nom correct, bien entendu !)
lsof | grep xxxxxx.plist
au bout de quelques secondes, j'obtiens une réponse:
cfprefsd 228 moi txt REG 1,2 727 12020539 /Users/moi/.Trash/xxxxxx.plistBon, voilà le coupable: cfprefsd. A vos souhaits !
La solution.
Google me retourne une liste de page et je m'arrête sur celle-ci où j'apprends que c'est un daemon de mise en cache des fichiers plist.Bon, ok mais ce que je n'apprend toujours pas, c'est comment "libérer" ce fichier plist...
Une piste intéressante: on parle de l'utilitaire defaults. En lisant la page de manuel (dans le terminal, tapez : man defaults), je vois que je peux utiliser différentes "commandes": read, write,... Mais aussi delete.
Je tente donc ma chance et, dans le terminal que je n'avais pas fermé et où je suis toujours en root, je tape:
defaults delete /Users/moi/.Trash/xxxxxx.plist
Première bonne nouvelle: pas de message d'erreur.
Essayons donc de vider la corbeille.
Deuxième bonne nouvelle: elle est vidée.
Problème réglé. ;)
Bonne journée.
Commentaires