Screenshot - Cattura schermo da terminale

Per effettuare una cattura schermo automatica da terminale, per esempio con uno script inserito in cron, si possono utilizzare queste righe.

DATE="`date '+%Y-%m-%d_%H-%M-%S'`"
export DISPLAY=:0
/usr/bin/import -silent -window root /percorso/screeshot_${DATE}.jpg

volendo poi si può convertire il file con questo comando:

convert -quality 75 -resize 1280x1024 /percorso/screenshot_${DATE}.jpg /percorso/screenshot_${DATE}.jpg

il comando sovrascrive il file, per crearne uno nuovo bisogna cambiare il nome al secondo file.
Per aggiungere ancora qualcosa si potrebbe implementare un controllo per eliminare i file che riteniamo vecchi, così gli screenshot più vecchi di un certo periodo verranno automaticamente eliminati:

find /percorso -name '*.jpg' -mtime +1 -exec /bin/rm {} \;

in questo caso, in soldoni, l'opzione -mtime +1 considera i file più vecchi di 1 giorno.
Ad essere precisi, si possono usare le opzioni mtime, ctime e atime: le differenze sono piccole ma a volte possono aiutare per ottimizzare alcuni script a seconda dell'utilizzo.
mtime = file modify time, ossia la data in cui il file è stato modificato
atime = file access time, ossia la data dell'ultimo accesso al file
ctime = inode/file change date, ossia l'ultimo cambio di stato del file