执行注销脚本

执行注销脚本

我一直在自学如何编写登录脚本,但很难找到有关编写 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

相关内容