답변:
다음 명령을 사용하여 잠금 해제 화면 이벤트를 찾을 수 있습니다.
grep screen /var/log/auth.log*
그러나 기본적으로 이러한 이벤트에 대한 로그가 없기 때문에 잠금 화면 이벤트를 찾는 것이 간단하지 않습니다.
어쨌든 잠금 화면 이벤트를 로깅하기 위해 다음 명령을 실행할 수 있습니다.
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while true; do read X; if echo "$X" | grep "boolean true" &> /dev/null; then echo "Screen locked on $(date)" > $HOME/lock_screen.log; fi; done )
에서 ~/lock_screen.log
파일.
위의 명령이 마음에 들면 스크립트에서 사용하고 시작시 스크립트가 자동으로 실행되도록하십시오.
참고 문헌 :
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'"
없습니다 signal time=1497336035.520628 sender=org.freedesktop.DBus -> destination=:1.140 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.140" signal time=1497336035.520706 sender=org.freedesktop.DBus -> destination=:1.140 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost string ":1.140"
내가 잠 그거나 잠금 해제 할 때 다음, 아무것도
FWIW : Unity가있는 Ubuntu 16.04.4 LTS에서 저에게 효과적인 것은 다음 명령으로 DBUS를 모니터링하는 것입니다.
dbus-monitor --session "type='signal',interface='com.canonical.Unity.Session'"
"잠김"및 "잠금 해제"이벤트를 모니터링합니다. 출력 예 :
신호 시간 = 1525269138.855107 발신자 = : 1.51-> 대상 = (널 대상) serial = 86735 path = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = LockRequested
신호 시간 = 1525269139.409261 발신자 = : 1.51-> 대상 = (널 대상) serial = 86892 path = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = 잠김
신호 시간 = 1525269151.238899 발신자 = : 1.51-> 대상 = (널 대상) serial = 86937 path = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = 잠금 해제 요청
신호 시간 = 1525269151.791874 발신자 = : 1.51-> 대상 = (널 대상) serial = 86938 path = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = 잠금 해제
이것이 우분투 16.04에서 사용하는 것입니다. 시스템 syslog에 기록합니다.
홈 폴더에 추가하고 실행 파일로 표시 한 다음 gnome-session-properties
세션 시작시 실행되도록 구성하십시오.
#!/bin/bash
exit_report(){
logger "$(date) Lockscreen Monitoring Terminated."
}
trap "exit_report; exit;" 0
lockmon() {
adddate() {
while IFS= read -r line; do
echo $line | grep string | grep '"start"' -q
if [ $? -eq 0 ] ; then
logger "$(date) Screen locked"
fi
echo $line | grep string | grep '"stop"' -q
if [ $? -eq 0 ] ; then
logger "$(date) Screen unlocked"
fi
done
}
logger "$(date) Lockscreen Monitoring Started."
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6.Instance'" | adddate
}
lockmon
Fedora 시스템 에 대한 유사한 답변을 기반으로 합니다 .
cat screen /var/log/auth.log | grep unlock
-sudo가 필요 없다.