Выполнение сценария выхода из системы

Выполнение сценария выхода из системы

Я учился писать сценарии входа, но мне сложно найти информацию о написании сценария LOGOUT. Я хочу иметь возможность записывать запись в журнал, когда пользователь выходит из сеанса X.

Вот что я хочу выполнить при выходе из системы:

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

Я знаю, что если я использую следующее в сценарии входа, то это работает так, как мне нужно. Так как мне сделать обратное для сценария 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

Я был бы очень признателен за любую помощь. Спасибо.

решение1

Откройте терминал (также известный как командная строка), нажав одновременно клавиши Ctrl+ Alt+ Tили найдя его в панели инструментов.

Выполните эту команду sudo gedit /etc/lightdm/lightdm.conf. Откроется текстовый редактор с файлом lightdm.conf, расположенным в /etc/lightdmпапке.

В файле у вас должна быть строка [SeatDefaults]. Ниже этой строки введите session-cleanup-script=/path/to/your-script.sh, где /path/to/your-script.sh— фактический адрес скрипта, который вы хотите запустить.

Примечание: убедитесь, что ваш скрипт настроен как исполняемый, выполнив:

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

Сохранить и выйти.

ПРИМЕЧАНИЕ: начиная с версии 14.04 файл конфигурации не существует и его необходимо создать вручную ИЛИ скопировать из файла-примера с помощью следующей команды:

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

Если вам просто нужен скрипт для выхода из системы или терминала, просто вставьте его в ~/.bash_logout.

Связанный контент