ฉันจะรู้ได้อย่างไรว่าหน้าจอถูกล็อคครั้งสุดท้ายหรือไม่


12

มีบันทึกที่ฉันสามารถค้นหาข้อมูลได้หรือไม่ ฉันต้องการทราบวันสุดท้ายเมื่อพีซีของฉันล็อคหน้าจอโดยอัตโนมัติเพราะไม่ได้ใช้งาน


1
สำหรับเวลาที่ปลดล็อคฉันทำ: cat screen /var/log/auth.log | grep unlock- ไม่จำเป็น sudo
แอนดรู

คำตอบ:


11

คุณสามารถค้นหาเหตุการณ์การปลดล็อกหน้าจอโดยใช้คำสั่งต่อไปนี้:

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ไฟล์

หากคุณชอบคำสั่งข้างต้นให้ใช้มันในสคริปต์และทำให้สคริปต์ทำงานโดยอัตโนมัติเมื่อเริ่มต้น

อ้างอิง:


2
ดูเหมือนจะไม่ทำงานบน Ubuntu 17.04 ouput ของ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"แล้วไม่มีอะไรเมื่อฉันล็อคหรือปลดล็อค
maxbellec

2

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; สมาชิก = ปลดล็อค


0

นี่คือสิ่งที่ฉันใช้ใน 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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.