Controllare lo stato di gestione remota tramite terminale

2

Devo essere in grado di accedere a SSH su un Mac (Mountain Lion) e controllare se ARD è in esecuzione e, in tal caso, quali sono le impostazioni. Fondamentalmente, ho bisogno dell'equivalente di andare su Preferenze di Sistema - > Condivisione - > Gestione remota e controllo visivo delle opzioni impostate qui. Ma ne ho bisogno sul terminale, così posso farlo via SSH.

Nota, non sto chiedendo come impostare queste opzioni (ad esempio tramite l'eseguibile ARD "kickstart"), ti sto chiedendo come, una volta eseguito, per determinare quali opzioni è in esecuzione sotto .

ps -axlww | grep ARD mostra solo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent senza alcun flag mostrato.

Esiste un file plist in cui è memorizzato? Finora ho controllato ...

/Library/Preferences/com.apple.ARDAgent.plist
/Library/Preferences/com.apple.RemoteManagement.plist

... e file simili all'interno della directory ~/Library/Preferences/ dell'utente, e sembra che non contengano nulla di utile.

    
posta Dave 08.05.2013 - 23:55
fonte

2 risposte

2

Puoi sapere se è abilitato eseguendo launchctl list | grep '^\d.*RemoteDesktop.*' . Questo produrrà una riga se c'è un processo attivo per l'agente RemoteDesktop e non produrrà nulla se non. Esiste un processo attivo per l'agente ogni volta che Gestione remota è abilitata, anche se non c'è alcuna connessione attiva (diversamente da qualcosa come Condivisione schermo, in cui il processo è attivo solo quando viene effettuata una connessione).

    
risposta data 09.05.2013 - 02:40
fonte
1

Ho una soluzione possibile per te, dico "possibile" perché non è molto affidabile ( Ho inviato una domanda in precedenza ).

Un'altra cosa, devi "Abilitare l'accesso per i dispositivi di assistenza", non so perché. Quindi, ecco l'AppleScript:

tell application "System Preferences"
        reveal pane "com.apple.preferences.sharing"
end tell

tell application "System Events"
        set SSCBrow to 2        -- Set to the row corresponding to Screen Sharing
        tell process "System Preferences"
                set screen_sharing_toggle to value of (checkbox 1 of row SSCBrow of table 1 of scroll area 1 of group 1 of window 1) as boolean
        end tell
end tell

tell application "System Preferences"
        Quit
end tell

set newvar to screen_sharing_toggle

Se lo salvi come, per esempio, checkScrShr puoi eseguirlo dalla riga di comando come:

osascript checkScrShr

Sarà echo 'true' se Screen Sharing è abilitato, 'false' se non lo è.

    
risposta data 10.06.2013 - 21:15
fonte

Leggi altre domande sui tag