| OSX 10.10.5] ¿Se detiene la ejecución del script cuando la pantalla está bloqueada?

10

Estaba ejecutando un script que lleva años en Terminal.

Quería ejecutarlo sin supervisión mientras trabajaba lejos de mi MacBook, así que elegí del menú (arriba a la derecha) nombre de usuario > Ventana de inicio de sesión ... , que NO es cerrar sesión, sino la pantalla de bloqueo.

Esperaba que se ejecutara el script. Cuando regresé horas más tarde y desbloqueé la pantalla (escribiendo mi contraseña), tuve que descubrir que mientras la pantalla estaba bloqueada, el script estaba en pausa todo el tiempo, y simplemente continuaba donde se activó cuando desbloqueé la pantalla.

El comportamiento esperado (conocido de otros derivados de UNIX) habría sido ejecutarse mientras la IU estaba bloqueada y segura.

¿Cómo puedo conseguir esto?

A Sz
fuente

Respuestas:

1

Tiene razón en que el Cambio rápido de usuario (activado haciendo clic en Nombre de usuarioVentana de inicio de sesión ...) no cierra la sesión. Sin embargo, suspende la ejecución activa de aplicaciones, evitando así que las tareas intensivas (o incluso la reproducción de medios) interfieran con el uso de su sistema por parte de otro usuario.

Lo que quieres hacer en su lugar es bloquear tu pantalla usando Keychain Access .

Presione ⌘ cmd space, seguido de Keychain Accesspara iniciar la aplicación. Luego, desde la barra de menú, haga clic en Acceso de llaveroPreferenciasGeneral y verifique Show keychain status in menu bar .

Aparecerá un icono de candado en el área del sistema de su barra de menú. Simplemente haga clic en Bloquear pantalla para bloquear su pantalla.

Bloquear pantalla

Según @MJK , es posible que también deba evitar que su Mac se duerma antes de alejarse.


fuente
7

EDITAR: con macOS High Sierra (a partir de beta 5) puede lograr el mismo comportamiento de "pantalla de bloqueo" mencionado por @Phong simplemente a través del menú de la barra de estado :


Lo que creo que está sucediendo es que su computadora se apaga después de un cierto tiempo después de que cambió a la ventana de inicio de sesión, lo que hace que su script se detenga.

Para evitar que su sistema duerma mientras se ejecuta su script, puede ejecutarlo caffeinate -sen la Terminal (nota: solo funciona en MacBooks si la alimentación de CA está conectada) o incluirlo en su script. Para detener el comando, presione CTRL + C.

La forma de asegurar mi cuenta mientras todavía estoy conectado es habilitar la opción "requerir contraseña" en las preferencias del sistema:

requerir contraseña

Luego, tan pronto como la pantalla (no el sistema) se apague (también configurable en preferencias), debe ingresar una contraseña para acceder a la cuenta.

También puede activar manualmente la suspensión de la pantalla presionando CTRL + SHIFT + EJECT (si su teclado tiene un botón de expulsión) o ejecutando pmset displaysleepnow.

YourMJK
fuente
También hay un botón de suspensión en el menú de Apple, si eso ayuda.
DonielF
1
@DonielF De hecho, pero eso pone el sistema en suspensión, lo que hace que la ejecución del script se detenga. Esto también se puede activar a través de CMD + OPCIÓN + EJECT
YourMJK
¿Ese botón no apaga la pantalla? Bueno saber.
DonielF
2
@DonielF Además de poner el sistema en suspensión, también pone la pantalla en suspensión
YourMJK