Dowolny sposób użycia ssh do odzyskania komputera Mac z wirującej plażowej piłki śmierci

9

W systemie Linux mogę uzyskać dostęp do konsoli ssh lub Ctrl-Alt-F1 i wpisać polecenie, aby zrestartować menedżera okien.

Czy istnieje jakiś odpowiednik Mac Mountain Lion?

Próbowałem ssh'ing na zamrożonym komputerze Mac i mogłem zabijać pojedyncze procesy, ale nie mogłem odblokować komputera. Uruchomienie polecenia sudo reboot zabiło moją zdolność ssh, ale nie zrestartowało komputera.

justingordon
źródło
Jest to prawdopodobnie wykonalne, ale tak naprawdę zależy od tego, co powoduje plażowanie. Czy dzieje się tak z jakąkolwiek przewidywalnością? Jeśli możesz dowiedzieć się, który proces jest przyczyną problemu, to zabicie go powinno działać, chyba że jest to coś dość niskiego poziomu lub problem sprzętowy (miałem dysk twardy, który okresowo przerywał połączenie, powodując niemożliwą do odzyskania piłkę plażową).
robmathers,
Jeśli sudo shutdown -r nownie uda się zabić procesów i nie spowoduje ponownego uruchomienia, prawdopodobnie będziesz musiał wyciągnąć zasilanie lub przytrzymać wciśnięty przycisk zasilania, aby odzyskać.
bmike
Tak, musiałem przytrzymać przycisk zasilania. „zamknięcie” zdawało się tylko odcinać ssh. Piłka plażowa nigdy się nie zatrzymała.
justingordon
→ Justin: Czy korzystasz z systemu MacOS X 10.8.3?
dan
Tak, 10.8.3, najnowsza MBP Retina.
justingordon

Odpowiedzi:

4

Aby odpowiedzieć na twoje pytanie: nie, nie ma takiej funkcji dostępnej na poziomie menedżera okien. Jest to dobra sugestia, aby przekazać informacje zwrotne do Apple MacOS X.

Czy Twój komputer Mac nadal działa?

Próbować:

ping IP_of_my_mac

Czy możesz uzyskać do niego dostęp ssh?

Czy możesz dostarczyć nam kopię wyników:

top -o cpu

i:

tail -20 /var/log/system.log

Jeśli problem pojawi się ponownie, czy możesz spróbować zabić okno logowania w następujący sposób: połącz się z szalonym komputerem Mac za pomocą ssh

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

To brzydkie polecenie:

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

to sztuczka polegająca na podaniu identyfikatora procesu logowania do okna bez ryzyka zabicia niewłaściwego faceta. Nie jestem pewien, czy to wystarczy, aby wymusić całkowite darmowe i zresetowanie GPU. Poinformuj mnie, jeśli to nie zadziała, abym mógł usunąć niepotrzebne i niebezpieczne obejście.

dan
źródło
Top nic nie pokazał. Oto kilka komunikatów w dzienniku: 5/8/13 10: 01: 16.000 AM jądro [0]: IOVendorGLContext :: ReportGPURestart 5/8/13 10: 01: 16.000 AM jądro [0]: NVDA (OpenGL): wyjątek kanału! typ wyjątku = 0xd = GR: SW Powiadomienie o błędzie, 5/8/13 10: 19: 31.913 AM mdworker [62359]: Nie można rozmawiać z lsboxd
justingordon
Wygląda na to, że masz problem ze sterownikami karty graficznej. Radzę wykonać kopię tych komunikatów o błędach i zanieść do sklepu AppleStore.
dn
Teraz nie ma wirującej piłki plażowej, ale 2 kolejne awarie: 10 maja 00:07:58 JustinMbp.local coreservicesd [29]: SendFlattenedData, dostał błąd # 268435460 (ipc / send) przekroczony limit czasu od :: mach_msg (), wysyłanie powiadomienia kLSNotifyApplicationDeath do powiadomieniaID = 237 10 maja 00:08:08 Jądro JustinMbp [0]: NVDA (OpenGL): Limit czasu kanału! 10 maja 00:08:15 JustinMbp.local sshd [4051]: Akceptowana klawiatura-interaktywna / pam dla justina z portu 192.168.1.69 42150 ssh2 10 maja 00:08:15 JustinMbp.local sshd [4051]: USER_PROCESS: 4054 ttys017 May 10 00:08:28 Jądro JustinMbp [0]: NVDA (OpenGL): Limit czasu kanału!
justingordon
10 maja 00:08:36 JustinMbp.local fseventd [43]: SPOWOLNIENIE: klient 0x7fb57401a800 (pid 2254) śpi z powodu zbyt wielu błędów (num usleeps 11)
justingordon
Uruchomienie ostatniego polecenia w celu zabicia procesu logowania powoduje, że zwykły kursor zmienia się w wirującą piłkę plażową.
justingordon
1

Używam tego w skrypcie powłoki o nazwie restart-graphical.sh

#!/bin/sh

sudo killall -HUP WindowServer

exit 0

To NIE da ci szansy na uratowanie czegokolwiek.

Zauważ, że nie napotkasz sytuacji, w której nic nie pomoże oprócz wtyczki. Często dzieje się tak, gdy urządzenie USB lub FireWire spowodowało nieuleczalne zawieszenie.

TJ Luoma
źródło
Nie jestem pewien, jaka byłaby to przewaga nad przełącznikiem zasilania? Może uniknąć błędów dysku?
justingordon
Próbowałem tego i wirująca piłka plażowa zniknęła, ale nic więcej się nie wydarzyło.
justingordon
Zaletą jest to, że możesz wypróbować go w sytuacjach, gdy nie masz dostępu do przełącznika zasilania. A jeśli możesz przejść do ekranu logowania (co powinno się zdarzyć po uruchomieniu), możesz być w stanie wykonać czysty restart.
TJ Luoma,
Nie pojawił się ekran logowania. Musiałem użyć wyłącznika zasilania.
justingordon