Tồn tại một bản ghi nơi tôi có thể tìm kiếm thông tin đó? Tôi muốn biết những ngày qua khi PC của tôi tự động khóa màn hình vì không hoạt động.
Tồn tại một bản ghi nơi tôi có thể tìm kiếm thông tin đó? Tôi muốn biết những ngày qua khi PC của tôi tự động khóa màn hình vì không hoạt động.
Câu trả lời:
Bạn có thể tìm thấy các sự kiện màn hình mở khóa bằng lệnh sau:
grep screen /var/log/auth.log*
Nhưng không đơn giản để tìm các sự kiện màn hình khóa bởi vì theo mặc định không tồn tại bất kỳ nhật ký nào cho các sự kiện này (theo như tôi biết).
Dù sao, bạn có thể chạy lệnh sau để ghi nhật ký các sự kiện màn hình khóa:
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 )
trong ~/lock_screen.log
tập tin
Nếu bạn thích lệnh trên, thì hãy sử dụng nó trong một tập lệnh và làm cho tập lệnh tự động chạy khi khởi động.
Người giới thiệu:
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'"
là 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"
, sau đó không có gì khi tôi khóa hoặc mở khóa
FWIW: những gì hoạt động với tôi trên Ubuntu 16.04.4 LTS với Unity, đang theo dõi DBUS bằng lệnh sau:
dbus-monitor --session "type='signal',interface='com.canonical.Unity.Session'"
... Và sau đó theo dõi các sự kiện "Đã khóa" và "Đã mở khóa". Ví dụ đầu ra:
thời gian tín hiệu = 1525269138.855107 người gửi =: 1.51 -> đích = (null đích) nối tiếp = 86735 đường dẫn = / com / canonical / Unity / Phiên; giao diện = com.canonical.Unity.Session; thành viên = LockRequested
thời gian tín hiệu = 1525269139.409261 người gửi =: 1.51 -> đích = (null đích) nối tiếp = 86892 đường dẫn = / com / canonical / Unity / Phiên; giao diện = com.canonical.Unity.Session; thành viên = Đã khóa
thời gian tín hiệu = 1525269151.238899 người gửi =: 1.51 -> đích = (null đích) nối tiếp = 86937 đường dẫn = / com / canonical / Unity / Phiên; giao diện = com.canonical.Unity.Session; thành viên = UnlockRequested
thời gian tín hiệu = 1525269151.791874 người gửi =: 1.51 -> đích = (null đích) nối tiếp = 86938 đường dẫn = / com / canonical / Unity / Phiên; giao diện = com.canonical.Unity.Session; thành viên = Đã mở khóa
Đây là những gì tôi sử dụng trong Ubuntu 16.04. Nó đăng nhập vào hệ thống nhật ký hệ thống.
Thêm vào thư mục nhà của bạn, đánh dấu là có thể thực thi được, sau đó sử dụng gnome-session-properties
để định cấu hình nó để chạy khi khởi động phiên.
#!/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
Dựa trên một câu trả lời tương tự cho các hệ thống Fedora .
cat screen /var/log/auth.log | grep unlock
- không cần sudo.