ฉันกำลังมองหาวิธีง่ายๆในการกำหนดเวลาคร่าวๆต่อวันที่ฉันใช้ไปกับคอมพิวเตอร์ นี่อาจเป็นงานที่ยากหากคุณพยายามตรวจสอบกระบวนการกดปุ่มคลิกเมาส์และสิ่งอื่น ๆ เพราะคุณสามารถทำอะไรก็ได้ตั้งแต่คิดเกี่ยวกับปัญหาการเข้ารหัสอ่านบทความบนเว็บคุยโทรศัพท์หรือออกไปเดินเล่น หมา. คอมพิวเตอร์อ่านใจไม่ออก ตั้งแต่ฉันออกจากคอมพิวเตอร์ในการเข้าสู่ระบบตลอด 24/7 การตรวจสอบจะไม่ทำงาน
ฉันตีความคิดของการเข้าสู่ระบบเท่าใดเวลาที่คอมพิวเตอร์ใช้ในโหมดสกรีนเซฟเวอร์ จากนั้นข้อผิดพลาดของฉันจะไม่ยิ่งใหญ่ไปกว่าผลิตภัณฑ์ของโปรแกรมรักษาหน้าจอที่ไม่ได้ใช้งานโดยมีจำนวนครั้งที่มันเข้าสู่โหมดสกรีนเซฟเวอร์ การลบสิ่งนี้ออกจาก 24 ชั่วโมงจะทำให้ฉันประเมินว่ามันจะสมเหตุสมผลสำหรับวัตถุประสงค์ของฉัน
ปัญหาคือ: ฉันไม่ทราบวิธีการเข้าสู่ระบบเมื่อเปิดและปิดหน้าจอ ฉันกำลังใช้งาน Ubuntu 10.10 ในขณะนี้บนเครื่องส่วนใหญ่กำลังจะเริ่มอัปเกรดเป็น 11.04 ในบางส่วน
ความคิดใด ๆ
[แก้ไข] หลังจาก googling มากขึ้นฉันกดปุ่ม dbus-monitor ซึ่งดูเหมือนว่ามันจะใช้งานได้ แต่ขาดส่วนประกอบที่สำคัญ นี่คือสคริปต์ที่ฉันใช้ซึ่งเปิดใช้งานจอภาพเป็น daemon:
#!/bin/bash
RUNNING=`ps -A | grep "dbus-monitor"`
if [ ! $RUNNING ]; then
echo "(Re)starting dbus-monitor daemon"
nohup dbus-monitor "--profile" "type='signal',interface='org.gnome.ScreenSaver'" >> ${HOME}/sc.log &
fi
นี่คือผลลัพธ์ที่มันผลิตหลังจากล็อคและปลดล็อกหน้าจอสองสามครั้ง:
sig 1304860712 153829 2 /org/freedesktop/DBus org.freedesktop.DBus NameAcquired
sig 1304860717 318732 462 /org/gnome/ScreenSaver org.gnome.ScreenSaver ActiveChanged
sig 1304860725 547928 463 /org/gnome/ScreenSaver org.gnome.ScreenSaver ActiveChanged
sig 1304861018 17 464 /org/gnome/ScreenSaver org.gnome.ScreenSaver ActiveChanged
sig 1304862919 403523 466 /org/gnome/ScreenSaver org.gnome.ScreenSaver ActiveChanged
เห็นได้ชัดว่าคอลัมน์ที่สองคือ unix UTC ในไม่กี่วินาที ส่วนผสมที่หายไปคือมันไม่ได้ระบุว่าหน้าจอเปิดหรือปิด! ฉันคิดว่าฉันสามารถสันนิษฐานได้ว่าพวกเขาสลับจากเวลา NameAcquired เกิดขึ้น แต่มันทำให้ฉันไม่สบายใจที่อาจมีเหตุการณ์ที่ขาดหายไปหรือเหตุการณ์พิเศษที่ฉันไม่สามารถคาดการณ์ได้
จำเป็นมากสำหรับความคิด
jkcunningham