나는 로그인 스크립트 작성 방법을 스스로 배우고 있지만 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
.