มีบันทึกที่ฉันสามารถค้นหาข้อมูลได้หรือไม่ ฉันต้องการทราบวันสุดท้ายเมื่อพีซีของฉันล็อคหน้าจอโดยอัตโนมัติเพราะไม่ได้ใช้งาน
มีบันทึกที่ฉันสามารถค้นหาข้อมูลได้หรือไม่ ฉันต้องการทราบวันสุดท้ายเมื่อพีซีของฉันล็อคหน้าจอโดยอัตโนมัติเพราะไม่ได้ใช้งาน
คำตอบ:
คุณสามารถค้นหาเหตุการณ์การปลดล็อกหน้าจอโดยใช้คำสั่งต่อไปนี้:
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: อะไรที่เหมาะกับฉันบน Ubuntu 16.04.4 LTS กับ Unity กำลังตรวจสอบ DBUS ด้วยคำสั่งต่อไปนี้:
dbus-monitor --session "type='signal',interface='com.canonical.Unity.Session'"
... และจากนั้นตรวจสอบกิจกรรม "ล็อค" และ "ปลดล็อค" ตัวอย่างผลลัพธ์:
เวลาสัญญาณ = 1525269138.855107 ผู้ส่ง =: 1.51 -> ปลายทาง = (ปลายทางปลายทาง) อนุกรม = 86735 เส้นทาง = / com / canonical / Unity / Session; อินเตอร์เฟซ = com.canonical.Unity.Session; สมาชิก = LockRequested
เวลาสัญญาณ = 1525269139.409261 ผู้ส่ง =: 1.51 -> ปลายทาง = (ปลายทางปลายทาง) อนุกรม = 86892 เส้นทาง = / com / canonical / Unity / Session; อินเตอร์เฟซ = com.canonical.Unity.Session; สมาชิก = ล็อค
เวลาสัญญาณ = 1525269151.238899 ผู้ส่ง =: 1.51 -> ปลายทาง = (ปลายทางปลายทาง) อนุกรม = 86937 เส้นทาง = / com / canonical / Unity / Session; อินเตอร์เฟซ = com.canonical.Unity.Session; สมาชิก = UnlockRequested
เวลาสัญญาณ = 1525269151.791874 ผู้ส่ง =: 1.51 -> ปลายทาง = (ปลายทางปลายทาง) อนุกรม = 86938 เส้นทาง = / com / canonical / Unity / Session; อินเตอร์เฟซ = com.canonical.Unity.Session; สมาชิก = ปลดล็อค
นี่คือสิ่งที่ฉันใช้ใน Ubuntu 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