Executando um script de logout

Executando um script de logout

Tenho aprendido sozinho a escrever scripts de login, mas estou tendo dificuldades para encontrar informações sobre como escrever um script LOGOUT. Quero poder registrar uma entrada de log para quando um usuário sair da sessão X.

Aqui está o que eu quero executar no LOGOUT:

#!/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

Eu sei que se eu usar o seguinte em um script de login, ele funcionará do jeito que eu quero. Então, como faço o inverso para um script LOGOUT?

# 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

Eu realmente apreciaria qualquer ajuda. Obrigado.

Responder1

Abra o terminal (ou também conhecido como linha de comando) pressionando juntos Ctrl+ Alt+ Tou localizando-o no painel.

Execute este comando sudo gedit /etc/lightdm/lightdm.conf. Isso abre o editor de texto com o arquivo lightdm.conf localizado na /etc/lightdmpasta.

No arquivo você deve ter uma linha [SeatDefaults]. Abaixo desta linha, digite session-cleanup-script=/path/to/your-script.sh, onde /path/to/your-script.shestá o endereço real do script que você deseja executar.

Nota: certifique-se de que seu script esteja definido como executável executando:

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

Salvar e sair.

NOTA: a partir da versão 14.04, o arquivo de configuração não existe e deve ser criado manualmente OU copiado de um arquivo de exemplo usando o seguinte comando:

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

Se você quiser apenas um script para sair do terminal, basta colocá-lo em ~/.bash_logout.

informação relacionada