Ejecutar un script de cierre de sesión

Ejecutar un script de cierre de sesión

Me he estado enseñando a escribir scripts de inicio de sesión, pero tengo dificultades para encontrar información sobre cómo escribir un script de cierre de sesión. Quiero poder registrar una entrada de registro para cuando un usuario cierra sesión en la sesión X.

Esto es lo que quiero ejecutar al cerrar sesión:

#!/bin/bash

# This script is intended to record when a user logs out of a TTY shell or the X session.
# This will record the results to a log file: logoutScript.log

# Variables used in this script.
dDate=$(date +%Y/%m/%d)
dTime=$(date +%l:%M%P)
logDir=/opt/scripts/logs
logFile=$logDir/logoutUser.log

# Begin operation of script.
echo "$dDate, $dTime - User '$USER' has logged out of the system." >> $logFile

# End of file
exit 0

Sé que si uso lo siguiente en un script de inicio de sesión, funciona como quiero. Entonces, ¿cómo hago lo contrario para un script de cierre de sesión?

# Detect if user is logged into TTY shell or X session, then execute corresponding login script.
if xhost >& /dev/null ; then
    gnome-terminal -e "bash -c \"cd /opt/scripts && ./loginScripts.sh && cd $HOME \""
else 
    bash -c "cd /opt/scripts && ./loginScripts.sh && cd $HOME"
fi

Realmente apreciaria cualquier ayuda. Gracias.

Respuesta1

Abra la terminal (o también conocida como línea de comando) presionando juntos Ctrl+ Alt+ To buscándola en el tablero.

Ejecute este comando sudo gedit /etc/lightdm/lightdm.conf. Esto abre el editor de texto con el archivo lightdm.conf ubicado en /etc/lightdmla carpeta.

En el archivo deberías tener una línea [SeatDefaults]. Debajo de esta línea, ingrese session-cleanup-script=/path/to/your-script.sh, donde /path/to/your-script.shestá la dirección real del script que desea ejecutar.

Nota: asegúrese de que su script esté configurado como ejecutable ejecutando:

sudo chmod +x /path/to/script.sh

Guardar y Salir.

NOTA: a partir de la versión 14.04, el archivo de configuración no existe y debe crearse manualmente O copiarse desde un archivo de ejemplo usando el siguiente comando:

sudo sh -c 'zcat /usr/share/doc/lightdm/lightdm.conf.gz > /etc/lightdm/lightdm.conf'

Si solo desea un script para cerrar sesión en una terminal, simplemente introdúzcalo en ~/.bash_logout.

información relacionada