3 votos

Verificar el estado de administración remota a través de Terminal

Necesito poder hacer SSH en una Mac (Mountain Lion) y verificar si ARD está en ejecución y, de ser así, cuáles son las configuraciones. Básicamente, necesito el equivalente a ir a Preferencias del Sistema -> Compartir -> Administración Remota e inspeccionar visualmente las opciones allí establecidas. Pero lo necesito en la Terminal para poder hacerlo a través de SSH.

Tenga en cuenta que no estoy preguntando cómo establecer estas opciones (por ejemplo, a través del ejecutable "kickstart" de ARD), estoy preguntando cómo, una vez que está en ejecución, determinar bajo qué opciones está funcionando.

ps -axlww | grep ARD muestra solo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent sin mostrar ninguna bandera.

¿Hay algún archivo plist donde se almacena esto? Hasta ahora he revisado ...

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

... y archivos similares dentro del directorio ~/Library/Preferences/ del usuario, y no parecen contener nada útil.

2voto

Ged Byrne Puntos 481

Puedes saber si está habilitado ejecutando launchctl list | grep '^\d.*RemoteDesktop.*'. Eso mostrará una línea si hay un proceso activo para el agente RemoteDesktop, y no mostrará nada si no lo está. Hay un proceso activo para el agente siempre que la Administración Remota esté habilitada, incluso si no hay conexión activa (a diferencia de algo como Compartir Pantalla, donde el proceso solo está activo cuando hay una conexión hecha).

1voto

user50139 Puntos 11

Tengo una posible solución para ti, digo 'posible' porque no es muy confiable (presenté una pregunta al respecto anteriormente).

Otra cosa, tendrás que "Activar el acceso para dispositivos de asistencia", no sé por qué. Así que aquí está el AppleScript:

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

tell application "System Events"
        set SSCBrow to 2        -- Establecer en la fila correspondiente a Compartir Pantalla
        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

Si guardas eso como, por ejemplo, checkScrShr puedes ejecutarlo desde la línea de comandos así:

osascript checkScrShr

Imprimirá 'verdadero' si Compartir Pantalla está habilitado, 'falso' si no lo está.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X