Ejecutar script cuando usuarios específicos cierran sesión

Ejecutar script cuando usuarios específicos cierran sesión

Necesito ejecutar mi aplicación en la pantalla cuando usuarios específicos cierran sesión y cerrar la pantalla cuando alguien de mi lista de usuarios inicia sesión. Así que estoy pensando en el script bash, que se llamará periódicamente desde cron y:

  1. Comprueba si usuarios específicos han iniciado sesión.
  2. Si nadie ha iniciado sesión, genere la pantalla y guarde el pid en un archivo o no haga nada si el archivo pid ya existe.
  3. Si alguien ha iniciado sesión, lea el pid del archivo y elimine la pantalla

Estoy buscando alternativas más sofisticadas, que eliminen la ejecución periódica de scripts desde cron.

Respuesta1

Varias opciones obvias:

  1. modificar /etc/profilepara agregar un enlace de cierre de sesión (o si su sistema ya tiene un archivo de enlace de cierre de sesión, modifíquelo)
  2. modificar la configuración PAM del sistema para agregar un controlador de sesión adicional (la biblioteca pam_script aborda esto específicamente)
  3. modifique el shell de inicio de sesión de los usuarios bajo consideración a algo que cierre su otro programa al inicio, genere el shell de inicio de sesión real y luego inicie el programa de pantalla cuando el shell de inicio de sesión real salga
  4. (si solo le importan los inicios de sesión de la consola) reemplace getty

información relacionada