Ich suche nach einer einfachen Methode, um die ungefähre Zeit zu bestimmen, die ich pro Tag an einem Computer verbringe. Dies kann eine schwierige Aufgabe sein, wenn Sie versuchen, Prozesse, Tastendrücke, Mausklicks und ähnliches zu überwachen, da Sie nicht nur über ein Codierungsproblem nachdenken, sondern auch einen Webartikel lesen, telefonieren oder mit dem Computer loslegen können Hund. Der Computer kann meine Gedanken nicht lesen. Da ich die Computer rund um die Uhr überwacht habe, funktionieren Anmeldungen nicht.
Ich bin auf die Idee gekommen, zu protokollieren, wie viel Zeit der Computer im Bildschirmschoner-Modus verbringt. Mein Fehler wäre dann nicht größer als das Produkt der Leerlaufzeit bis zum Bildschirmschoner mit der Häufigkeit, mit der er in den Bildschirmschoner-Modus wechselt. Wenn ich diesen Wert von 24 Stunden abziehe, erhalte ich eine Schätzung, die für meine Zwecke angemessen wäre.
Das Problem ist: Ich weiß nicht, wie ich mich anmelden soll, wenn der Bildschirmschoner ein- und ausgeschaltet wird. Momentan starte ich Ubuntu 10.10 auf den meisten Rechnern und werde auf einigen bald ein Upgrade auf 11.04 durchführen.
Irgendwelche Ideen?
[edit] Nachdem ich weiter gegoogelt habe, bin ich auf den Dbus-Monitor gestoßen, der so aussah, als würde er funktionieren, aber eine wichtige Zutat fehlt. Hier ist das Skript, das ich ausführe und das den Monitor als Daemon startet:
#!/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
Hier ist die Ausgabe, die nach mehrmaligem Sperren und Entsperren des Bildschirms erzeugt wird:
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
Die zweite Spalte ist offensichtlich Unix UTC in Sekunden. Die fehlende Zutat ist, dass nicht festgestellt werden kann, ob der Bildschirmschoner aktiviert oder deaktiviert ist! Ich nehme an, ich könnte annehmen, dass sie ab dem Zeitpunkt, an dem NameAcquired auftritt, umschalten, aber es macht mich nervös, dass ein fehlendes oder zusätzliches Ereignis, das ich nicht vorhersagen kann, alles aus der Synchronität bringen würde.
Sehr verpflichtet für Ideen.
jkcunningham