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/lightdm
Ordner 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.sh
die 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
.