vendredi 14 octobre 2011

MacOSX: ouverture de session en boucle

Ça n'est vraiment pas fréquent (première fois en 4 ans), mais il arrive que MacOSX plante sérieusement et que le système soit alors partiellement corrompu. Dans mon cas cela s'est traduit par un comportement aussi idiot qu'énervant: à la fenêtre d'identification de l'utilisateur (user login), on tape son mot de passe, s'affiche l'écran bleu et puis... on revient à l'écran d'identification, en boucle! Pas moyen de sortir de ce cercle infernal. Comme d'habitude, de nombreuses fausses bonnes solutions sur les forums, et j'ai trouvé finalement ceci qui a parfaitement fonctionné pour moi (Snow Leopard) et que je vous synthétise ci-dessous.

Il s'agit de reconstruire la base de données des LaunchServices. Il faut d'abord s'identifier et accéder aux commandes système. Pour cela deux solutions :
  1. soit ouvrir une session sous un autre utilisateur (si vous en avez) et lancer le Terminal;
  2. ou bien relancer votre Mac en mode utilisateur unique (single-user): allumer en maintenant appuyé Cmd-S.
Ensuite, il faut tapez la longue commande suivante en remplaçant mapomme par le nom d'utilisateur qui pose problème, pour 10.6 (Snow Leopard) :
sudo -u mapomme -H /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain user
ou pour les versions précédentes d'OS X (Tiger et Leopard) :
sudo -u mapomme -H /System/Library/Frameworks/ApplicationServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain user
Attention dans les deux cas il ne s'agit que d'une seule ligne ; ne pas reproduire les retours à la ligne liés à l'affichage sur ce blog. En particulier la longue chaîne de caractères commençant par /System/ et finissant par /lsregister ne doit comporter aucun espace.

Si vous avez opté pour la solution a), faites un copier-coller depuis cette page dans la fenêtre Terminal. Si en revanche vous être dans la solution b), vous aurez une petite difficulté supplémentaire: le clavier est américain (Qwerty) ! Par rapport au clavier Français (Azerty), la position du A est inversée avec celle du Q, celle du Z avec le W. Pour obtenir le / (slash), il faut utiliser le pavé numérique ou alors appuyer sur la touche = (immédiatement à gauche de la touche Majuscule de droite), et pour le -, c'est la touche ). Notez tout ça sur un bout de papier.

Enfin rebooter le Mac par le menu  ou la commande reboot.