N'importe quelle façon d'utiliser ssh pour récupérer un Mac après avoir fait tourner le ballon de plage de la mort

9

Sous Linux, je peux accéder à une console ssh ou Ctrl-Alt-F1 et taper une commande pour redémarrer le gestionnaire de fenêtres.

Existe-t-il un équivalent pour Mac Mountain Lion?

J'ai essayé de ssh'ing sur un Mac gelé, et j'ai pu tuer des processus individuels, mais je n'ai pas pu décrocher la machine. L'exécution de la commande sudo reboot a tué ma capacité ssh, mais n'a pas redémarré la machine.

justingordon
la source
C'est probablement faisable, mais cela dépend vraiment de la cause du beachball. Cela se produit-il avec une quelconque prévisibilité? Si vous pouvez déterminer quel processus est à l'origine du problème, le tuer devrait fonctionner, sauf s'il s'agit de quelque chose d'assez bas niveau ou d'un problème matériel (j'avais un disque dur qui interrompait périodiquement la connexion, provoquant un ballon de plage irrécupérable).
robmathers
Si sudo shutdown -r nowne parvient pas à tuer les processus et à provoquer un redémarrage, vous devrez probablement couper l'alimentation ou maintenir le bouton d'alimentation enfoncé pour récupérer.
bmike
Oui, j'ai dû maintenir le bouton d'alimentation enfoncé. "shutdown" semblait seulement couper ssh. Le ballon de plage ne s'est jamais arrêté.
justingordon
→ Justin: Utilisez-vous MacOS X 10.8.3?
dan
Oui, 10.8.3, dernière MBP Retina.
justingordon

Réponses:

4

Pour répondre à votre question: non, une telle fonction n'est pas accessible au niveau du gestionnaire de fenêtres. C'est une bonne suggestion de transmettre aux commentaires Apple MacOS X

Votre Mac est-il toujours opérationnel?

Essayer:

ping IP_of_my_mac

Pouvez-vous y accéder avec ssh?

Pouvez-vous nous fournir une copie de la sortie d'un:

top -o cpu

et:

tail -20 /var/log/system.log

Si le problème réapparaît, pourriez-vous essayer de tuer la fenêtre de connexion comme ceci: connectez-vous sur votre Mac fou avec ssh

/usr/bin/sudo /bin/kill `ps ax | grep '[/]loginwindow' | awk '{print $1}'`

Cette commande laide:

ps ax | grep '[/]loginwindow' | awk '{print $1}'

est une astuce pour vous donner l'ID de processus du processus loginwindow sans risque de tuer le mauvais gars. Je ne suis pas sûr que ce sera suffisant pour forcer une libération totale et une réinitialisation totale du GPU. Veuillez me dire si cela ne fonctionne pas afin que je puisse supprimer une solution de contournement inutile et dangereuse.

dan
la source
Top n'a rien montré. Voici quelques messages de journal: 5/8/13 10: 01: 16.000 AM kernel [0]: IOVendorGLContext :: ReportGPURestart 5/8/13 10: 01: 16.000 AM kernel [0]: NVDA (OpenGL): exception de canal! type d'exception = 0xd = GR: SW Notify Error, 5/8/13 10: 19: 31.913 AM mdworker [62359]: Impossible de parler à lsboxd
justingordon
Il semble que vous ayez un problème de pilote avec le matériel GPU. Je vous conseille de faire des copies de ces messages d'erreur et de les apporter à un AppleStore.
dan
Maintenant, pas de beachball tournant, mais 2 autres plantages: 10 mai 00:07:58 JustinMbp.local coreservicesd [29]: SendFlattenedData, erreur # 268435460 (ipc / send) expirée depuis :: mach_msg (), envoi de la notification kLSNotifyApplicationDeath à notificationID = 237 10 mai 00:08:08 Noyau JustinMbp [0]: NVDA (OpenGL): délai d'expiration du canal! 10 mai 00:08:15 JustinMbp.local sshd [4051]: Clavier interactif / pam accepté pour justin à partir du port 192.168.1.69 42150 ssh2 10 mai 00:08:15 JustinMbp.local sshd [4051]: USER_PROCESS: 4054 ttys017 mai 10 00:08:28 Noyau JustinMbp [0]: NVDA (OpenGL): Timeout de canal!
justingordon
10 mai 00:08:36 JustinMbp.local fseventsd [43]: RALENTISSEMENT: le client 0x7fb57401a800 (pid 2254) dormait à cause de trop d'erreurs (num usleeps 11)
justingordon
L'exécution de la dernière commande pour tuer le processus de connexion fait que le curseur simple se transforme en ballon de plage en rotation.
justingordon
1

J'utilise ceci dans un script shell appelé restart-graphical.sh

#!/bin/sh

sudo killall -HUP WindowServer

exit 0

Cela ne vous donnera PAS la possibilité de sauvegarder quoi que ce soit.

Notez que j'ai courir dans une situation où rien ne contribuera à l' exception de la prise d'alimentation. Cela se produit souvent lorsqu'un périphérique USB ou FireWire a provoqué un blocage incurable.

TJ Luoma
la source
Je ne sais pas quel avantage ce serait sur l'interrupteur d'alimentation? Peut-être éviter les erreurs de disque?
justingordon
J'ai essayé et le ballon de plage en rotation a disparu, mais il ne s'est rien passé d'autre.
justingordon
L'avantage est que vous pouvez l'essayer dans des situations où vous n'avez pas accès à l'interrupteur d'alimentation. Et si vous pouvez accéder à l'écran de connexion (ce qui devrait se produire lorsque vous l'exécutez), vous pourrez peut-être effectuer un redémarrage propre.
TJ Luoma
Aucun écran de connexion n'est apparu. J'ai dû utiliser l'interrupteur d'alimentation.
justingordon