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.

1 commentaire:

Anonyme a dit…

Bonjour,
ayant eu le meme probleme avec 10.6.3 (snow leopard), cette methode n'a pas fonctionne pour moi, par contre celle decrite ci-dessous oui :

http://www.theiospost.com/latest/2011/6/9/how-to-solve-the-login-loop-in-mac-os-x-snow-leopard.html

pour ceux qui ne parlent pas anglais, il s'agit simplement de demarrer en mode sans echec sous n'importe quelle session et de lancer onyx en reparant seulement les services de lancement en cochant la case correspondante dans l'onglet automation.

si vous n'avez qu'une seule session et qu'elle est bloquee, il faudra d'abord faire la manip' suivante :

demarrer en mode single user puis
/sbin/mount -uaw
rm /var/db/.applesetupdone
reboot

tout est explique ici : http://www.macpassword.com/how-to-reset-mac-password-without-disk.html

Merci de votre description du probleme et de m'avoir permis de me mettre sur le chemin de la solution. En esperant aider d'autres gens dans mon cas.