Come fare screenshot automatici del PC su Linux
Realizzo uno script Bash per catturare automaticamente screenshot sul sistema operativo Linux, salvandoli in una directory specifica del mio PC.
Questo script utilizza come software di appoggio `scrot`, è un software semplice ed efficace per fare screenshot da terminale su Linux.
Per installarlo, vado sul terminale e digito:
- Su Ubuntu/Debian:
sudo apt update
sudo apt install scrot - Su Fedora/RHEL:
sudo dnf install scrot
- Su Arch Linux:
sudo pacman -S scrot
Una volta installato verificato se funziona correttamente.
scrot --version
A questo punto procedo a scrivere uno script Bash per catturare gli screenshot automatici.
Questo script salva 100 screenshot consecutivi, con un intervallo di 5 minuti (300 secondi) tra uno scatto e l'altro, in una directory chiamata `temp2` all'interno della cartella `Immagini`.
#!/bin/bash
for i in {1..100}
do
scrot -d 300 'Taken_on-%d-%m-%Y-%H:%M:%S.png' -e 'mv $f ~/Immagini/temp2/';
done
La prima riga `#!/bin/bash` indica che il file è uno script Bash.
Nella seconda riga `for i in {1..100}` eseguo un ciclo che si ripete 100 volte.
Poi richiamo `scrot` passandogli come parametri:
- `-d 300` attende 300 secondi (5 minuti) prima di scattare lo screenshot successivo.
- `'Taken_on-%d-%m-%Y-%H:%M:%S.png'` è il formato del nome del file con data e ora (giorno, mese, anno, ora, minuti, secondi). In questo modo mantengo traccia dell'ora precisa in cui è stato catturato lo schermo.
- `-e`: specifica il comando da eseguire dopo aver salvato l’immagine.
- `mv $f ~/Immagini/temp2/` è il comando che sposta il file generato nella directory `temp2` dentro la cartella `Immagini`. In questo modo posso decidere dove salvare gli screenshot.
Per scrivere e salvare lo script posso usare un editor qualsiasi. Ad esempio:
nano ~/screenshot_auto.sh
Incolla il codice dello script, salvo e chiudo il file. Poi lo rendo eseguibile.
chmod +x ~/screenshot_auto.sh
Prima di eseguire lo script per la prima volta, è necessario creare la directory di destinazione:
mkdir -p ~/Immagini/temp2
A questo punto è tutto pronto per l'esecuzione.
Avvio lo script da terminale con il comando:
./screenshot_auto.sh
Lo script comincia a catturare lo schermo con pause di 5 minuti e li salva nella directory che ho indicato.
Dopo aver scattato 100 screenshot, termina l'esecuzione. Per prenderne di più basta modificare il ciclo nello script.
Per fermare anticipatamente lo script mentre è in esecuzione, basta premere `Ctrl + C` nel terminale.
Al termine dell'esecuzione, trovo una serie di file con nomi simili a:
Taken_on-23-11-2024-10:15:30.png
Taken_on-23-11-2024-10:20:30.png
...
Tutti salvati nella directory `~/Immagini/temp2/`.
Nota. Per far eseguire lo script automaticamente quando si accede al computer, modifico anche il file di configurazione dell'avvio automatico delle applicazioni.
nano ~/.bashrc
Poi aggiungo questa riga alla fine del file:
~/screenshot_auto.sh &
In questo caso non occorre eseguire manualmente lo script. Questo verrà eseguito automaticamente dal sistema operativo all'accensione del computer.
E così via.