Je cherche un moyen simple de déterminer la quantité approximative de temps que je passe par jour sur un ordinateur. Cela peut être une tâche difficile si vous essayez de surveiller les processus, les pressions de touches, les clics de souris, etc. chien. L'ordinateur ne peut pas lire dans mes pensées. Puisque je laisse des ordinateurs sur 24/7, la surveillance des connexions ne fonctionnera pas.
J'ai eu l'idée d'enregistrer le temps que l'ordinateur passe en mode économiseur d'écran. Mon erreur ne serait alors pas supérieure au produit du temps d'inactivité de l'économiseur d'écran avec le nombre de fois qu'il passe en mode économiseur d'écran. La soustraction de 24 heures me donnerait une estimation raisonnable pour mes besoins.
Le problème est: je ne sais pas comment me connecter lorsque l'économiseur d'écran s'allume et s'éteint. J'utilise Ubuntu 10.10 en ce moment sur la plupart des machines, sur le point de commencer la mise à niveau vers 11.04 sur certaines d'entre elles.
Des idées?
[modifier] Après plus de recherche sur Google, je suis tombé sur le moniteur dbus qui semblait fonctionner, mais il manque un ingrédient important. Voici le script que j'exécute qui lance le moniteur en tant que démon:
#!/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
Voici la sortie qu'il produit après avoir verrouillé et déverrouillé l'écran plusieurs fois:
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
La deuxième colonne est évidemment unix UTC en quelques secondes. L'ingrédient manquant est qu'il n'identifie pas si l'économiseur d'écran est activé ou désactivé! Je suppose que je pourrais supposer qu'ils basculent à partir du moment où NameAcquired se produit, mais cela me fait mal à l'idée qu'il pourrait y avoir un événement manquant ou supplémentaire que je ne peux pas prévoir qui pourrait tout désynchroniser.
Très obligé pour les idées.
jkcunningham