Come ottenere di nuovo il mio schermo?

2

Il mio MacBook Pro è in esecuzione, ssh funziona bene, ma lo schermo non risponde più.

Lo schermo è congelato come il ghiaccio dell'Antartide. Il mouse non si muove sullo schermo. L'ora dell'orologio non cambia.

La spia Bloc Maiusc della tastiera risponde.

Puoi aiutarmi a rispondere nuovamente allo schermo, per favore?

Ciò di cui ho bisogno è semplicemente avere il mio schermo che risponde, al fine di utilizzare il mio Mac e continuare quello che stavo facendo.

    
posta Nicolas Barbulesco 05.05.2014 - 21:44
fonte

3 risposte

1

Dato che puoi usare ssh nella scatola, puoi iniziare ad uccidere i processi uno ad uno e alla fine riavvierai la scatola o libererai l'elemento che contiene la CPU / la GUI congelata.

Probabilmente farei queste cose in ordine di gravità:

  1. Avvia un backup della macchina del tempo prima di uccidere qualsiasi cosa tmutil startbackup --block --rotation
  2. Se non mi interessa salvare il lavoro (poiché questo uccide tutte le app in modo brusco ) - elimina il processo di loginwindow e riconnettiti.
  3. Se mi interessa salvare un po 'di lavoro, uccidi tutti i processi utente che non appartengono all'utente che deve salvare lavoro.
  4. Quindi uccidi tutti i processi utente che non hanno bisogno di lavoro salvato. (App e simili)
  5. Quindi usa AppleScript per dire ad ogni app che ha bisogno di salvare il lavoro per uscire. (supponendo che la GUI non sia reattiva a questo punto)

osascript -e 'quit app "Take Five" '

A questo punto, dovrai elencare le app specifiche di cui hai bisogno per salvare il lavoro e chiedere se ci sono modi per forzare un salvataggio (forse usano il salvataggio automatico e ripristinano comunque tutto il lavoro) o semplicemente emettono un riavvia / riavvia il comando e procedi con l'uso della macchina e recupera ciò che puoi dal tuo ultimo backup.

    
risposta data 24.06.2014 - 19:01
fonte
1

Eliminare WindowServer ti farà uscire dalla maggior parte delle situazioni, ma tutte le app della GUI moriranno e si riavvieranno con essa.

La soluzione è di salvare i dati in tutte le app che non lo fanno automaticamente usando Applescript
ps ax | grep -i appname
osascript save.scpt 6546 , dove 6546 è il PID della tua app

Lo script premerà Cmd + S e (facoltativamente) Invio

on run argv
tell application "System Events"
    set theprocs to every process whose unix id is item 1 of argv
    repeat with proc in theprocs
        set the frontmost of proc to true
        delay 1
        keystroke "s" using command down
        delay 1
        # key code 36 # Enter
    end repeat
end tell
end run

P.S. Funziona dalla sessione SSH per app come Testo sublime , ma non riesco a capire il modo di dire all'app di uscire con grazia. È kill o reboot . Quest'ultimo dovrebbe prendersi cura delle app che supportano la funzione "Resume".

    
risposta data 25.06.2014 - 15:02
fonte
1

So che questa è una risposta tardiva e potresti aver già rinunciato. Ho fatto una rapida ricerca e ho scoperto che è possibile abilitare la condivisione dello schermo (VNC) via SSH senza AppleScript.

sudo  /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
-activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes \
-clientopts -setvncpw -vncpw mypasswd -restart -agent -privs -all

Ho copiato il comando testualmente da qui . Voglio omettere il restart flag, credo. Collegati alla tua macchina con un client VNC, salva tutto il tuo lavoro e riavvia la macchina.

    
risposta data 26.06.2014 - 00:57
fonte

Leggi altre domande sui tag