로그아웃 스크립트 실행

로그아웃 스크립트 실행

나는 로그인 스크립트 작성 방법을 스스로 배우고 있지만 LOGOUT 스크립트 작성에 대한 정보를 찾는 데 어려움을 겪고 있습니다. 사용자가 X 세션에서 로그아웃할 때 로그 항목을 기록할 수 있기를 원합니다.

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

로그인 스크립트에서 다음을 사용하면 원하는 방식으로 작동한다는 것을 알고 있습니다. 그렇다면 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. /etc/lightdm폴더 에 lightdm.conf 파일이 있는 텍스트 편집기가 열립니다 .

파일에 줄이 있어야 합니다 [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.

관련 정보