Desbloquear y bloquear la pantalla de mac a través de ssh

¿Hay alguna forma de desbloquear y bloquear la pantalla desde la línea de comandos, a través de ssh? Sé /System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspendel comando, pero no parece funcionar a través de ssh. La solución perfecta sería un comando, que podría escribir registrado a través de ssh y desbloquearía la pantalla o la volvería a bloquear, por lo que no necesito decirle a nadie mi contraseña, si quiere usarla. ¿Hay alguna herramienta integrada que proporcione dicha funcionalidad?

Verifique esta respuesta (estoy usando este método y funciona perfectamente).

Respuestas (3)

Hay muchas formas de bloquear y desbloquear tu Mac a través de SSH. La forma más fácil y probablemente la más rápida es usar osascript(applescript).

Bloqueo de Mac

Para hacer esto, inicie sesión a través de ssh y escriba

osascript -e 'tell application "Finder" to sleep'

Puede cambiar el Finder por Eventos del sistema, pero eso significa más caracteres para escribir.

Desbloqueo de Mac

Activar tu Mac es un poco más difícil.

Hay dos maneras de hacer esto.

Puedes usar osascriptde nuevo.

osascript -e 'tell application "System Events" to key code 123'

Esto le indica que presione la tecla de flecha izquierda que debería despertar a su Mac del modo de suspensión.

También puede utilizar el pmsetcomando.

pmset schedule wake "mm/dd/yyyy 00:00:00"

Use una fecha y hora que ya haya pasado.

Por supuesto, deberá teclear su contraseña a través de Applescript, por ejemplo

osascript -e 'tell application "System Events" to keystroke "password"'

Una alternativa a esto podría ser la aplicación Remote Wake Up para Mac, pero no estoy seguro de si puede ingresar una contraseña.

Lo sé, sobre la capacidad de hacer que osx duerma de forma remota. He estado buscando algo que simplemente bloquee la pantalla, no ponga la computadora en modo de suspensión. Algo así como win + L en Windows, pero a través de ssh. Además, no puedo ponerme a trabajar con este script de desbloqueo.
@fulaphex pmset displaysleepnowparece funcionar para mí: pondrá la pantalla en suspensión de inmediato, y debido a que en preferencias/seguridad y privacidad/general tengo "solicitar contraseña inmediatamente después de que comience la suspensión o el protector de pantalla", también bloqueará la estación.
¿No debería la Mac ya estar ejecutándose/despertándose para permitir que se ejecute osascript?

Lo uso para bloquear la pantalla (funciona en Big Sur):

osascript -e 'tell application "System Events"
    keystroke "q" using {control down, command down}
end tell'

Yo uso esto:

sudo -S pmset schedule wake "$(date -j -v +2S +'%m/%d/%y %H:%M:%S')"

Despierta tu Mac en 2 segundos a partir de ahora. (Curiosamente, 1 segundo no funciona).

¡Buena suerte (hasta el final en 2016 😜)!