0 votos

A través de la línea de comandos, intente desactivar el salvapantallas *sólo* si el salvapantallas está activo

Estoy usando BigSur 11.7.5.

Quiero ejecutar algún tipo de comando o script desde la línea de comandos que desactive el protector de pantalla, pero sólo si el protector de pantalla está activo. Si el protector de pantalla no está activo, entonces me gustaría que este comando o script fuera un no-op efectivo.

Pretendo invocar el comando o script a través de una sesión ssh no interactiva cuando no estoy delante del Mac, y por tanto, nunca sé en el momento de la invocación si el salvapantallas está activo o no cuando me conecto ssh para ejecutar el comando o script.

Una de las formas comúnmente mencionadas para desactivar el salvapantallas es utilizar osascript para enviar un clic o un carácter de nueva línea. Sin embargo, si el salvapantallas no está activo, ese clic o esa nueva línea podrían afectar al comportamiento de alguna app existente que pudiera estar abierta en la pantalla del Mac.

Esta es la razón por la que estoy buscando una manera de desactivar el salvapantallas a través de la línea de comandos si está activo, y realizar un no-op si no está activo.

Gracias de antemano por cualquier sugerencia.

1voto

HippoMan Puntos 113

He descubierto cómo hacerlo. Puse lo siguiente en un shell script...

osascript -e 'tell application "System Events" to get running of screen saver preferences' | egrep -i true && {                                 
  osascript -e 'tell application "System Events" to keystroke return'                                                                              
}

Luego, simplemente hago que mi sesión ssh no interactiva ejecute ese shell script. Si el protector de pantalla no está activo, no hace nada; y si el protector de pantalla se está ejecutando, se despide.

PS : Y ahora me doy cuenta de que también debería poner el prefijo con caffeinate -u -t 2 para que la pantalla se encienda además del salvapantallas en ejecución, si es necesario.

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