web-dev-qa-db-fra.com

Script de capture d'écran automatique

Je cherche à comprendre exactement ce que Anwar Shah décrit ici script Bash pour prendre une capture d'écran et enregistrer l'image - Ubunt

avec la fonctionnalité supplémentaire de définition d'un incrément de temps pour que le script continue à prendre des captures d'écran. Par exemple, j'aimerais pouvoir exécuter ce script et le faire prendre et exporter des captures d'écran au format jpeg toutes les 5 secondes et continuer jusqu'à ce que je tue le script.

Y a-t-il une solution simple à cela?

2
user266069

Oui:

#! /bin/bash
while sleep 5
do    
    shutter -f -o 'myshot-%T.jpg' -e
done

La commande sleep peut prendre différentes durées comme arguments: 5s (ou simplement 5) pendant 5 secondes, 129m pendant 129 minutes, etc.
La commande shutter prend en charge la sortie JPEG et le %T indique à Shutter de remplacer automatiquement cette partie par l'heure du script. (Il y a aussi %NN pour dire à Shutter d'utiliser un compteur.)

1
muru

Dans mon .bashrc, je définis une fonction, screenshot pour utiliser ImageMagik:
capture d'écran ()
{
import -window root ~/var/screenshot/$ (tshhmmss) _screendump.png
}

et, pour l'horodatage,

alias tshhmmss='date +%y%b%d-%H%M%S'

Ensuite, l'envelopper dans while sleep 5 ... est facile.

0
waltinator