Come sbloccare un Mac bloccato con il blocco dello schermo "a tendina" di Apple Remote Desktop


28

Apple Remote Desktop ha una funzione "a tendina" che un client remoto può utilizzare per bloccare lo schermo del Mac controllato a distanza. Lo uso quando mi collego al mio Mac di lavoro dal mio Mac di casa. Lo schermo del mio lavoro sul Mac mostra una grande icona a forma di lucchetto e un messaggio mentre lo controllo in remoto dal mio Mac di casa utilizzando Apple Remote Desktop (ARD).

Sfortunatamente, c'è un bug di qualche tipo che fa bloccare lo schermo del Mac remoto, anche dopo che mi sono disconnesso da esso. (Ultimi ARD e OS X 10.8.2 su entrambe le macchine.) Quando ciò accade, entro il giorno dopo lavoro per trovare l'icona e il messaggio di blocco grande sullo schermo del mio Mac. Nonostante sia ora fisicamente presente davanti al Mac, non riesco a trovare un modo per sbloccare lo schermo.

Di solito cerco di sshentrare nel Mac da un'altra macchina e di uccidere i processi. Ho provato ad uccidere il ARDAgentprocesso, il processo di blocco dello schermo (non riesco a ricordare il nome) e qualsiasi altra cosa che posso trovare con "ard" o "remote" nel nome del processo. Nessuna di queste cose sembra sbloccare lo schermo. Alla fine, ricorro a usare osascript -e ...per dire a tutte le mie applicazioni in esecuzione di uscire con grazia, quindi corro shutdown -r nowper riavviare la macchina.

La mia domanda: esiste un modo per sbloccare correttamente un Mac bloccato sulla schermata di blocco ARD, utilizzando ssho in altro modo?


Un modo per riprodurlo: accedi al Mac di destinazione con Desktop remoto, avvia la modalità Curtain e quindi, dopo aver terminato qualsiasi lavoro, esegui il logout dell'utente sul Mac di destinazione mentre sei ancora in modalità Curtain. Ciò lascerà il Mac inaccessibile all'app Desktop remoto e persino a un utente fisico del computer, con l'icona di blocco grande ancora sullo schermo del Mac di destinazione.

Non sono sicuro di cosa sto facendo per innescare questa situazione, ma sicuramente non mi disconnetterò. Ad ogni modo, sembra che la soluzione dovrebbe essere la stessa.


1
Senza rispondere direttamente alla tua domanda: esiste un motivo specifico per cui stai utilizzando ARD anziché la condivisione dello schermo?
Nohillside

1
Sto usando ARD perché la condivisione dello schermo non ha questa funzione "a tendina" e non voglio che le persone al lavoro possano vedere e accedere al mio Mac quando non ci sono.
Giovanni Siracusa,

Avrei suggerito di utilizzare la normale condivisione dello schermo e il display virtuale piuttosto che quello hardware, ma secondo una mia eccezionale domanda, sembra essere scomparso sotto 10.8 come opzione quando si utilizza 10.8 come client ...
stuffe

Risposte:


11

Non ho un Mac con ARD per testare questo, ma questa utility sfrenata suggerisce che può risolvere il problema. Da una rapida occhiata al codice sorgente, invia semplicemente un messaggio CFNotificationCenter per uscire dalla modalità tenda.

Non sono sicuro se esiste un modo per collegarsi al processo di disconnessione ARD per eseguire questa operazione ogni volta che si disconnette la sessione, ma almeno è possibile eseguirla tramite SSH, se necessario.


1
Sembra promettente! Lo proverò la prossima volta che riesco a riprodurre il bug.
Giovanni Siracusa,

1
Nonostante molti tentativi, non sono ancora riuscito a riprodurre il mio bug. Poiché la ricompensa scade domani, accetterò questa risposta in base al presupposto che funzionerà.
Giovanni Siracusa,

Anch'io non sono stato in grado di riprodurlo, ma ho trovato della documentazione su come utilizzare AppleScript per sbloccare gli schermi e pubblicherò questa come una risposta separata anche se questa sembra il posto migliore per la generosità per i dettagli a livello di codice su il funzionamento interno di CFNotificationCenter.
bmike

1
Questo ha funzionato perfettamente. Se in ogni caso alcune persone riscontrano ancora questo problema (come me), puoi trovare il codice su github.com/mattlavine/sunshine-ard .
dal

2
Ho provato questo sul mio Mac con Mojave e non ha funzionato, amico.
Brad Parks

6

Questa soluzione più veloce che ho trovato è quella di stabilire una connessione SSH a un account amministratore sul computer remoto bloccato.

ssh "adminuser"@ip.address/or.computername

Genere: ps -ax | grep AppleVNCServer

Vuoi la riga che legge qualcosa del genere

/System/Library/CoreServices/RemoteManagement/AppleVNCServer.bundle/Contents/Support/LockScreen.app/Contents/MacOS/LockScreen -session 256 -msgHex 

Annota il PID che si trova a sinistra di questo.

quindi inserire:

sudo kill -9 "PID" 

Questo forzerà il riavvio della schermata di blocco e la renderà nuovamente disponibile.

So che è come il post sopra appena spiegato. Viene anche eseguito su due macchine 10.8.2 con ARD 3.6.1.


Questo ha funzionato per me su El Cap questo pomeriggio (e ha salvato la giornata). Grazie!
Segna il

1
Ho provato questo su Mojave, senza fortuna.
Noè,

3

Per quello che vale, questo è un bug noto in ARD ed è apparentemente in circolazione da un po '. Questo KB di Apple contiene un articolo al riguardo, ma nessun suggerimento su come risolverlo. http://support.apple.com/kb/TS2401

Parte chiave del documento:

Se si utilizza Desktop remoto per assumere il controllo di un client utilizzando la modalità Curtain, quindi accedere o disconnettersi sul client remoto, la sessione di controllo terminerà e non sarà possibile riprendere il controllo del computer fino al riavvio. Ciò si verifica sul client che esegue Mac OS X v10.5 o successivo e si verifica anche se si blocca lo schermo del client prima di assumere il controllo.

Risoluzione

Prima di disconnettersi, chiudere tutte le finestre con informazioni riservate, terminare la sessione di controllo (e sbloccare lo schermo se necessario). Non disconnettersi dal client remoto mentre lo si controlla in modalità Curtain.


2

OK, non posso commentare l'uso di ARD, non ce l'ho, ma questa potrebbe essere una soluzione adeguata, almeno nel frattempo.

Utilizzando la normale condivisione dello schermo hai la possibilità di utilizzare il display hardware o quello virtuale. Questa era una cosa facile da usare su 10.7, ma è stata offuscata piuttosto su 10.8 e il comando della voce di menu per cambiare display è sparito.

Per utilizzare il display virtuale, ecco cosa devi fare. Innanzitutto, chiedi a un altro utente di accedere al tuo normale con le relative opzioni di condivisione dello schermo consentite, quindi accedi:

  • Se nessuno è connesso al computer di destinazione, verrà sempre visualizzato il display Hardware che mostra la normale schermata di accesso
  • Se l'utente tenta di accedere come è già connesso, passerà sempre a quell'utente e utilizzerà il display hardware
  • Se accedi con un altro utente che non ha già effettuato l'accesso sul display hardware, ricevi il seguente messaggio e la possibilità di utilizzare il display virtuale, il che si traduce in essere in grado di fare quello che vuoi senza cambiare la schermata principale e senza possibilità di chiunque sia in grado di guardarlo

inserisci qui la descrizione dell'immagine

Questo non è perfetto, è necessario assicurarsi che l'utente secondario disponga dei diritti di accesso pertinenti ai file e che sia necessario l'accesso, oppure potrebbe essere necessario adottare la pratica scomoda di lasciare l'utente secondario (o "fittizio") hai effettuato l'accesso quando esci dalla scrivania e ti consente di utilizzare il tuo ID principale sulla condivisione dello schermo, ma può essere d'aiuto.


2

Apple fornisce un esempio di come eseguire lo script della schermata di blocco nel Capitolo 9 della Guida per amministratori ARD .

Forse quello script a pagina 174 potrebbe essere abbreviato per inviare semplicemente la sequenza di sblocco:

-- Start commanding the local copy of Remote Desktop
tell application "Remote Desktop"
  -- decide which list to perform this on, in this case it's called
     "WorkMac"
  set these_computers to computer list "WorkMac"
  -- unlock the screen when finished
  execute (make new unlock screen task) on these_computers
end tell 

2

Non riesco a riprodurre la tua configurazione esatta poiché al momento non ho una seconda macchina con 10.8.2 e 3.6.1, ma ecco cosa ho provato:

Dal mio Mac admin 10.8.2 / 3.6.1 ho bloccato lo schermo sul mio client 10.6.8, mi sono disconnesso dal client e ho riprodotto il problema di blocco dello schermo. Sono stato disconnesso dalla mia sessione ARD e il client è rimasto con l'icona della schermata di blocco. Ho contattato il cliente e dopo aver cercato di ottenere un po 'd'amore da "kickstart" ho eseguito l'elenco launchctl che ha rivelato un lavoro "LockScreen". Ucciderlo senza emettere un segnale non ha avuto alcun effetto, ma inviandolo a -9 ha rimosso l'icona di blocco dallo schermo e dopo pochi secondi la finestra di accesso è stata caricata. Dovrai provarlo nelle tue condizioni per verificare che questa stessa tecnica funzioni su una macchina 10.8.2 / 3.6.1 bloccata e quando il problema è causato da qualcosa di diverso dal logout dell'utente.


1
Ho definitivamente ucciso quel processo e poi ho visto il blocco rimanere sullo schermo. La riproverò la prossima volta che riprodurrò il bug, per essere sicuro.
Giovanni Siracusa,

Buone informazioni su una strada per la risoluzione dei problemi, ma l'uccisione del processo non funziona. Vedi il mio applecript per inviare lo sblocco programmaticamente.
bmike

2

Se sei su El Capitan, le istruzioni sopra riportate che implicano l'uccisione della schermata di blocco non funzioneranno. C'è un processo che continua a avviarlo e non sono riuscito a trovarlo usando launchctl list. Ho anche provato a chiudere ARD tramite il mio sshlogin ma non ha funzionato neanche. Apparentemente LockScreen.app e ARD sono processi disaccoppiati o qualcosa del genere. Ho finito per dover fare un shutdown -r nowper forzare un riavvio. Sono piuttosto incazzato per il fatto che Apple non abbia corretto questo bug o fornito una soluzione alternativa che, in realtà, funzioni effettivamente DOPO il fatto.


Anzi, ho questo stesso problema. Ho provato a uccidere la schermata di blocco e altri demoni in esecuzione, ma senza fortuna. Cercherò diverse soluzioni e le pubblicherò qui se ne trovo una.
dal

Hai avuto fortuna a trovare una soluzione?
tmm1,

0

Nell'app Desktop remoto, apri l'elenco di sistema ed evidenzia un computer remoto che mostra lo stato di "Schermo bloccato". Apri il menu Interagisci e scegli "Sblocca schermo ..."

Vedrai immediatamente lo stato del sistema cambiare da "Schermo bloccato" a "Disponibile". È quindi possibile avviare una nuova connessione in modalità tenda.


Quale app di Desktop remoto è questa?
tmm1,

Apple Remote Desktop.App v 3.9.
tyager
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.