Libérer une interface utilisateur osx gelée à l'aide de ssh sans fermer toutes les applications?

19

Mon Mac se bloque occasionnellement, et le plus souvent, je le redémarre simplement en maintenant le bouton d'alimentation enfoncé pendant plus de 5 secondes.

Aujourd'hui, cependant, j'avais exécuté un énorme scan de fichiers pendant 14 heures lorsque l'interface utilisateur a complètement gelé, et je préfère ne pas attendre encore 14 heures!

Symptômes de l'interface utilisateur figée: rien ne se produit lors de l'utilisation du clavier (à l'exception du voyant de verrouillage des majuscules allumé / éteint). Naturellement, l'arrêt forcé ne se produit pas. Déplacer la souris déplace le curseur sur l'écran mais cliquer ne fait rien.

En utilisant un autre Mac sur le réseau, je peux accéder au Mac par SSH. J'ai vu que la RAM était presque pleine, mais l'activité du processeur était modeste. Choses que j'ai essayé de dégeler le mac:

  1. Arrêtez / tuez Chrome, iMovie, Photoshop et d'autres applications que je ne voulais pas arrêter. A aidé à réduire l'utilisation de la RAM, mais n'a pas aidé à dégeler le mac.

  2. Arrêtez les processus Finder et Dock. Aucune aide.

  3. Partage d'écran activé à partir de la ligne de commande et tentative de connexion à distance. La boîte de dialogue de mot de passe apparaît (indiquant que le partage d'écran est effectivement activé) mais après avoir fourni le mot de passe, l'indicateur de progression tourne juste pour l'éternité et rien ne se passe.

  4. J'ai essayé de suspendre la session utilisateur à partir de la ligne de commande:

/ Système / Bibliothèque / CoreServices / Menu \ Extras / User.menu / Contents / Resources / CGSession -suspend

Cette commande se bloque simplement dans la session SSH et rien ne se passe. Doit être abandonné à l'aide de ctrl+ c. L'utilisation sudofait retourner la commande immédiatement sans aucun effet.

Même tuer WindowServer ( sudo killall -HUP WindowServer) n'a pas aidé, et exécuter un redémarrage gracieux ( sudo shutdown -r now) n'a fait que geler complètement l'ordinateur (plus de mouvements de curseur ni d'accès ssh). Seul l'arrêt forcé du bouton d'alimentation a fonctionné.

Il a fallu attendre encore 14 heures pour que l'analyse des fichiers s'exécute à nouveau. Existe-t-il un autre moyen de dégeler un Mac dans cet état? Ce serait bien de savoir pour référence future…

Motin
la source
1
J'ai eu exactement le même problème en ce moment, avec le même résultat exact pour toutes les choses que vous avez essayées. Merci pour le rapport détaillé. J'aimerais avoir des suggestions sur ce qu'il faut faire dans ces situations.
rahmu
Est-ce que quelque chose de bizarre apparaîtrait sudo dmesg? Pour moi, je voyais **** [IOBluetoothHCIController][SearchForTransportEventTimeOutHandler] -- Missing Bluetooth Controller Transport!et je foiré avec quelques petites choses, il a commencé à travailler à nouveau, et je voudrais voir: **** [IOBluetoothHCIController][protectedBluetoothHCIControllerTransportShowsUp] -- Connected to the transport successfully -- 0xe7c0 -- 0xd000 -- 0xc000 ****. Relation non confirmée.
Joseph Lennox
@JosephLennox Cette question et le fil associé ont environ 1 an. Si vous avez besoin d'aide, veuillez commencer votre propre question en fournissant vos détails spécifiques et peut-être un lien vers cette question comme quelque chose de similaire que vous avez rencontré.
JakeGould
Eu l'expérience exacte sur Sierra 10.12. La seule chose que j'ajouterais à votre liste pour vérifier less /var/log/system.logsi vous pouvez repérer le problème là-bas. J'ai vu com.apple.DumpGPURestart, mais je ne pouvais rien y faire, sauf maintenir le bouton d'alimentation enfoncé pendant plus de 5 secondes.
wisbucky

Réponses:

3

J'avais l'habitude de faire face à ce type de situation de temps en temps, et lorsqu'il s'agit d'un gel général de l'interface utilisateur, pas une fenêtre particulière ne répond pas, alors je n'ai rien trouvé (aucun processus que vous pouvez tuer) qui puisse résoudre le problème, à part tuer WindowServer. Cela devrait entraîner la déconnexion de la session.

Cependant, dans ce cas particulier, puisque tuer WindowServer n'a pas remis le système dans un état utilisable, je pense qu'il était de toute façon condamné.

En ce qui concerne la meilleure récupération possible , une chose à noter est qu'il peut être possible de fermer proprement des applications individuelles de SSH:

osascript -e 'tell application "TextEdit" to quit'

Les applications GUI normales n'enregistreront pas leurs fichiers, etc. lorsqu'elles killseront éditées, mais le seront quand on leur donnera cet événement de sortie. Bien sûr, si l'application affiche une boîte de dialogue lorsque vous lui dites de quitter, cela n'aide pas. Et si osascriptlui - même se bloque, le système de répartition des événements Apple est bloqué ...

Kevin Reid
la source
0

J'ai ce problème régulièrement. Semble être lié au fait que mon ATI Radeon 4850 n'est pas OK. J'ai désactivé l'accélération graphique en éloignant les pilotes, mais j'ai toujours ce problème par intermittence. Parfois, tuer la fenêtre de connexion via les travaux ssh. Parfois, cela prend quelques minutes, voire plus, puis fonctionne soudainement. J'ai également eu des moments où le système répond normalement après le démarrage de l'économiseur d'écran. J'ai déplacé ma souris, l'économiseur d'écran s'arrête et le système fonctionne normalement après cela. Pour cela, j'ai réduit le temps de démarrage de l'économiseur d'écran.

Bjinse
la source
-1

Ok, j'ai eu un problème de sondage similaire (les commandes du clavier ont fonctionné, la souris a bougé, je n'ai rien pu cliquer sur l'interface utilisateur) et j'ai trouvé une solution.

Ma SmartMouse Bluetooth était entre autres dans mon sac à dos. Je l'ai sorti du sac et tout fonctionne maintenant!

Apparemment, un clic de souris a bloqué tous les autres clics de souris. Ah!

Clic de souris Guy 1432432
la source