If you want to capture your desktop regularly for accounting or other purposes, here is how I implemented this on my Kubuntu desktop machine.
I found the following packages in my Kubuntu repository:
- scrot – easy batch mode, only console interface
- deskscribe – just records in some text log files, no image screenshots
- ksnapshot – dcop problems while trying to make it work in batch mode
The winner is scrot. The simple Bash scripts I developed do the following:
- Makes a snapshot, suitable for running automatically by crontab (make-snapshot.sh)
- Tests if there are recent snapshots in a specified folder; an error is issued otherwise (test-snapshot.sh)
Here is what I’ve put in my user’s crontab (“crontab -e”):
* * * * * ~/make-snapshot.sh :0 /no-backup/famzah/snapshots
* * * * * ~/test-snapshot.sh 5 /no-backup/famzah/snapshots
This way a snapshot is made every minute. Every five minutes a check is made if the snapshot utility works properly. In the case of an error, the output from the “test-snapshot.sh” script is sent via email by crontab. This is a standard feature of crontab.
Update: The snapshots are now automatically split into sub-directories according to the current date “%Y-%m-%d/”.
The scripts have a help message, in case any of the parameters are not very clear. You need to install the “scrot” package by the following command:
sudo apt-get install scrot
Tested with Kubuntu Karmic and Lucid.
An exercise left for the reader 🙂 – a crontab script to clean up very old directories with screenshots. Hint: A simple “find … -type d -mtime … | xargs rm …” should do the trick.