¿Hay alguna manera de forzar absolutamente un cierre de sesión, un apagado o un reinicio con pestañas abiertas y documentos no guardados?

No pude encontrar ninguna forma relativamente simple de cerrar sesión rápidamente en una Mac de uso público con muchas pestañas abiertas y documentos no guardados en segundo plano sin recurrir a sudo shutdown -h now.

La razón por la que pregunto es que a veces un usuario tendrá su cuenta iniciada en los iMacs aquí en la escuela e intentará cerrar la sesión y luego irse, pensando que se ha completado, pero las aplicaciones Safari y Office interrumpen el proceso, dejando su cuenta, monturas y sitios web todavía accesibles para la próxima persona que se siente.

Obviamente, una cadena de atajos estaría bien en lugar de publicar una nota diciéndole a la persona que escriba cosas arcanas en una terminal. Por ejemplo, hacer que intenten encontrar Terminal.app será una tarea ardua.

Esto no parece tener sentido porque el usuario puede simplemente salir de cada aplicación y hacer clic en algunos cuadros de diálogo, pero a diferencia de usted y yo, para quienes presionar Comando-Q repetidamente mientras presiona la barra espaciadora y las teclas D es probablemente una segunda naturaleza.

¿Puede alguien responder a esta pregunta para cerrar sesión, no cerrar? Por alguna razón, todo está colgado: puedo mover el mouse, pero no puedo escribir ni hacer clic. Intenté cerrar la sesión desde la línea de comandos, pero la falta de guardado lo canceló. No puedo reiniciar porque hay otros usuarios con trabajo no guardado que no quiero forzar.

Respuestas (5)

En mi universidad, tenían una aplicación en el Dock cuyo ícono era un cuadrado blanco con LOG OUT en grandes letras rojas. Ejecutó un script (combinado con appify o similar) que eliminó todas las aplicaciones en ejecución y cerró la sesión del usuario. Esto también ayudó a las personas que no conocían la Mac y no buscaron en el menú de Apple el elemento del menú de cierre de sesión.

Puede crear una aplicación AppleScript, guardada en el escritorio u otra ubicación destacada, que diga

  do shell script "sudo shutdown -h now" with administrator privileges

El usuario hace doble clic en la secuencia de comandos de apagado, aparece un cuadro de diálogo que solicita la contraseña y, si es correcta, continúa el apagado. Tenga en cuenta que esto solo funciona para cuentas con privilegios de administrador.

También está el atajo +++ Commandpara cerrar sesión sin confirmación, pero no ayuda cuando tienes documentos no guardados anteriores a 10.7; simplemente evita tener que presionar + repetidamente. Sin embargo, con la función de CV de Lion , esto funciona según lo previsto, dejando documentos sin guardar para la próxima vez que inicie sesión.ShiftOptionQCommandQ

A partir de Mojave (10.14.6), esto ya no parece funcionar: Cmd+Shift+Option+Q me da las mismas indicaciones que Cmd+Shift+Q.

Puede utilizar un programa de terceros como Power Manager para cerrar automáticamente la sesión de los usuarios inactivos . Power Manager cerrará cualquier aplicación en ejecución y se encargará de las aplicaciones que intenten bloquear el proceso con hojas o cuadros de diálogo.

Power Manager: cierra automáticamente la sesión del usuario inactivo

Divulgación: trabajo para DssW, los creadores de Power Manager.

Esto podría lograrse fácilmente con Automator. Al encender Automator, seleccione "Aplicación". Tome el comando sudo shutdown -h nowy colóquelo en una acción de automatización "Ejecutar script de shell". Guárdelo como una aplicación y péguelo en el Dock o justo en el medio del escritorio. Para un efecto adicional, haga una búsqueda de imágenes para encontrar un icono apropiado que pueda agregar (usando la ventana de información de su nueva aplicación). Tal vez el clásico botón I/O o algo así, como estos .

El sudocomando requiere una contraseña de administrador y, por lo tanto, no funcionará incrustado en una acción Ejecutar script de shell. Un AppleScript podría solicitar una contraseña a un usuario administrativo al ejecutar el comando, pero una persona que no sea administrador no podría hacerlo, y un script de shell tampoco setuid. Ahora, si quisieras escribir un programa ac...
Muy cierto. Hoy estoy enfermo en casa, así que supongo que no estoy pensando con claridad y me lo perdí. Sin embargo, el espíritu es el mismo, ya que esto se puede lograr fácilmente sin una tonelada de codificación, etc., y se puede implementar fácilmente en todas las máquinas en red.
Sí, si uno cree que es una buena idea permitir que los usuarios no administrativos fuercen el apagado de la máquina independientemente de qué otros usuarios estén conectados actualmente. Por supuesto, ya tienen esa opción incluso más abruptamente si tienen acceso físico al botón de encendido. O el enchufe. O el disyuntor.