[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
lsof | grep xxxxxx.plist
(en remplaçant xxxxxx par le nom correct, bien entendu !)

au bout de quelques secondes, j'obtiens une réponse:

cfprefsd    228            moi  txt       REG                1,2        727            12020539 /Users/moi/.Trash/xxxxxx.plist
Bon, 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

Posts les plus consultés de ce blog

Utiliser des itinéraires Google Maps sur un GPS Garmin ?

Voir le temps restant pour mon impression 3D

RaspBerry Pi: Installation de l'OS