小编jkc*_*ham的帖子

通过屏幕保护程序活动/非活动时间测量计算机使用情况的方法?

我正在寻找一种简单的方法来确定我每天花在电脑上的粗略时间。如果您试图监控进程、按键、鼠标点击等,这可能是一项艰巨的任务,因为人们可以做任何事情,从思考编码问题、阅读网络文章、打电话或走开狗。电脑无法读懂我的心思。由于我将计算机置于 24/7 监控登录状态将不起作用。

我想到了记录计算机在屏幕保护模式下花费的时间的想法。我的错误不会大于屏幕保护程序空闲时间与其进入屏幕保护程序模式次数的乘积。从 24 小时中减去这个时间会给我一个对我的目的来说是合理的估计。

问题是:当屏幕保护程序打开和关闭时,我不知道如何登录。我目前在大多数机器上运行 Ubuntu 10.10,即将开始在其中一些机器上升级到 11.04。

有任何想法吗?

[编辑] 经过更多的谷歌搜索后,我发现了 dbus-monitor,它看起来可以工作,但缺少一个重要的组成部分。这是我正在运行的脚本,它将监视器作为守护程序启动:

#!/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
Run Code Online (Sandbox Code Playgroud)

这是它在锁定和解锁屏幕几次后产生的输出:

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
Run Code Online (Sandbox Code Playgroud)

第二列显然是以秒为单位的unix UTC。缺少的成分是它无法识别屏幕保护程序是打开还是关闭!我想我可以假设它们从 NameAcquired 发生的时间开始切换,但这让我感到不安,因为可能有一个我无法预料的丢失或额外的事件,这会使一切不同步。

非常有想法。

坎宁安

screensaver log

15
推荐指数
2
解决办法
3178
查看次数

标签 统计

log ×1

screensaver ×1