Jawaban:
Anda dapat menemukan acara layar pembuka menggunakan perintah berikut:
grep screen /var/log/auth.log*
Tetapi tidak ada yang begitu mudah untuk menemukan acara layar kunci karena secara default tidak ada log untuk acara ini (sejauh yang saya tahu).
Bagaimanapun, Anda dapat menjalankan perintah berikut untuk mencatat peristiwa layar kunci:
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 )
dalam ~/lock_screen.log
file.
Jika Anda menyukai perintah di atas, maka gunakan dalam skrip dan buat skrip untuk berjalan secara otomatis saat startup.
Referensi:
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'"
adalah 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"
, maka tidak ada ketika saya mengunci atau membuka kunci
FWIW: apa yang berfungsi untuk saya di Ubuntu 16.04.4 LTS dengan Unity, memantau DBUS dengan perintah berikut:
dbus-monitor --session "type='signal',interface='com.canonical.Unity.Session'"
... dan kemudian memantau untuk acara "Terkunci" dan "Tidak Terkunci". Contoh output:
sinyal waktu = 1525269138.855107 pengirim =: 1.51 -> tujuan = (tujuan nol) serial = 86735 jalur = / com / canonical / Unity / Session; antarmuka = com.canonical.Unity.Session; member = LockRequested
sinyal waktu = 1525269139.409261 pengirim =: 1.51 -> tujuan = (tujuan nol) serial = 86892 path = / com / canonical / Unity / Session; antarmuka = com.canonical.Unity.Session; anggota = Terkunci
sinyal waktu = 1525269151.238899 pengirim =: 1.51 -> tujuan = (tujuan nol) serial = 86937 jalur = / com / canonical / Unity / Session; antarmuka = com.canonical.Unity.Session; member = UnlockRequested
sinyal waktu = 1525269151.791874 pengirim =: 1.51 -> tujuan = (tujuan nol) serial = 86938 path = / com / canonical / Unity / Session; antarmuka = com.canonical.Unity.Session; anggota = Tidak Terkunci
Inilah yang saya gunakan di Ubuntu 16.04. Log ke sistem syslog.
Tambahkan ke folder rumah Anda, tandai sebagai executable, dan kemudian gunakan gnome-session-properties
untuk mengkonfigurasinya untuk dijalankan pada sesi startup.
#!/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
Berdasarkan jawaban yang serupa untuk sistem Fedora .
cat screen /var/log/auth.log | grep unlock
- tidak perlu sudo.