Ejecutar un script con la interacción del usuario en el cierre de sesión / apagado?

Me gustaría ejecutar un script al cerrar, lo que interrumpe el proceso de cierre de sesión y aparece una ventana con zenity . Mi objective es que Autofsck funcione con lightdm. Parece que funciona con 12.04 después de instalar el archivo * .deb antiguo, si uno ejecuta el script de verificación manualmente. Para usarlo, debe ejecutarse automáticamente al cerrar sesión y preguntar al usuario si desea verificar el disco al apagarse.

Existe la opción session-cleanup-script en el archivo /etc/lightdm/lightdm.conf que parece funcionar, si se usa un archivo bash con ruta completa (no puedo colocar el comando directamente allí). Pero si presiono apagar, no hay tiempo para que el usuario elija.

¿Hay alguna otra opción para resolver este problema?

Edición: Parece que también hay otros problemas específicos con AutoFsck. La secuencia de comandos de limpieza de la sesión se ejecuta, pero el comando de verificación para AutoFsck no se ejecuta.

Creo que su pregunta de apagado / apagado se responde (más o menos) aquí:

  • Secuencias de comandos de cierre de sesión: no completadas en el cierre, reinicio

Al mirar las respuestas proporcionadas allí, me gustaría modificar / elaborar / resumir que probablemente necesite ambas, para usar el script de limpieza de sesión de modo que X no muera antes de que pueda responder y ejecutar el trabajo, y La nueva secuencia de comandos /etc/init.d/ a un nivel de ejecución lo suficientemente alto como para ‘bloquear’ el cierre hasta que se complete la secuencia de comandos AutoFsck invocada de la secuencia de comandos de limpieza.

Así:

  1. Agregue al script de limpieza de sesión configurando una touch /etc/noreboot través de ‘ touch /etc/noreboot ‘ (o similar) que borre su script de AutoFsck (es decir, elimine el archivo / etc / noreboot cuando responda que no, o, en caso afirmativo, elimine solo después AutoFsck se completa) .

  2. Su nuevo script /etc/init.d debe verificar la existencia de / etc / noreboot y, si existe, verifique nuevamente cada segundo o dos en un bucle hasta que se elimine el archivo. Una vez que no existe /etc/noreboot , el script puede completarse y permitir que el rest del proceso de cierre continúe. Nuevamente, la clave aquí es asegurarse de que el script init.d se ejecute antes de que se cierre lightdm o que se ejecute cualquier otro X shutdown.

Como X aún debe estar ejecutándose mientras se ejecuta la secuencia de comandos /etc/noreboot check en init.d, también puede enviar un mensaje X a la pantalla indicando que el cierre está bloqueado en espera de la eliminación del archivo. Este pequeño mensaje molesto puede ser útil si el /etc/noreboot no se borra por algún motivo, lo que impide que el sistema se cierre de forma correcta.