Ausführen eines Logout-Skripts

Ausführen eines Logout-Skripts

Ich habe mir selbst beigebracht, wie man Anmeldeskripte schreibt, habe aber Schwierigkeiten, Informationen zum Schreiben eines LOGOUT-Skripts zu finden. Ich möchte einen Protokolleintrag aufzeichnen können, wenn sich ein Benutzer von der X-Sitzung abmeldet.

Folgendes möchte ich beim Abmelden ausführen:

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

Ich weiß, dass ein Login-Skript wie gewünscht funktioniert, wenn ich Folgendes verwende. Wie mache ich also das Gegenteil für ein LOGOUT-Skript?

# 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

Ich wäre für jede Hilfe wirklich dankbar. Danke.

Antwort1

Öffnen Sie das Terminal (auch als Befehlszeile bekannt), indem Sie Ctrl+ Alt+ gleichzeitig drücken Toder es im Bindestrich suchen.

Führen Sie diesen Befehl aus sudo gedit /etc/lightdm/lightdm.conf. Dadurch wird ein Texteditor mit der Datei lightdm.conf im /etc/lightdmOrdner geöffnet.

In der Datei sollte eine Zeile vorhanden sein [SeatDefaults]. Geben Sie unterhalb dieser Zeile ein session-cleanup-script=/path/to/your-script.sh, wobei /path/to/your-script.shdie tatsächliche Adresse des Skripts ist, das Sie ausführen möchten.

Hinweis: Stellen Sie sicher, dass Ihr Skript ausführbar ist, indem Sie Folgendes ausführen:

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

Speichern und schließen.

HINWEIS: Ab Version 14.04 existiert die Konfigurationsdatei nicht und muss manuell erstellt ODER mit dem folgenden Befehl aus einer Beispieldatei kopiert werden:

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

Wenn Sie lediglich ein Skript zum Abmelden von einem Terminal wünschen, fügen Sie es einfach ein ~/.bash_logout.

verwandte Informationen