¿Cómo hacer un script para cerrar sesión mientras la pantalla está bloqueada?


1

Quiero cerrar la sesión de un usuario a través de un script de shell, después de un retraso. Sin embargo, hay algunos otros problemas:

  • El usuario no tiene administrador y / o root.
  • El cierre de sesión debe completarse incluso si la pantalla está bloqueada.

Actualmente, estoy usando los siguientes comandos de shell para cerrar sesión:

osascript -e 'tell application "System Events" to log out'
osascript -e 'tell application "System Events" to keystroke return'

Esto funciona bien si la pantalla está activa, pero si la pantalla está bloqueada, falla, porque depende de activar una ventana y luego disparar una tecla Intro. Como recordatorio, las técnicas como matar la ventana de inicio de sesión fallan porque requieren root.

No estoy convencido de que sea posible; Cualquier idea será altamente apreciada.


¿Cuándo quieres activar el cierre de sesión? ¿Después de inactividad o bajo demanda?
Graham Miln

Respuestas:


1

¿Puedes obtener eventos del sistema para hacer Shift-Option-Command-q ?? algo así como ... (No sé la sintaxis exacta)

'tell application "System Events" to keystroke q with command down option down shift down'

No creo que funcione, por la misma razón que el otro truco no funciona: requiere un retorno de carro, que no sucederá cuando la pantalla esté bloqueada.
uint128_t

Este método abreviado de teclado no requiere que el usuario ingrese return; automáticamente cierra la sesión sin ninguna interacción adicional. Pero no sé si funcionará como un script ejecutado mientras el protector de pantalla está activo y bloqueado.
John
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.