Automatizzare gli screenshot sul Mac dalla riga di comando
Usa cicli di screencapture in macOS per acquisire lo schermo intero, un'area fissa o pagine successive, con nomi sicuri e indicazioni per risolvere i problemi.

In questa guida automatizzerai gli screenshot dal Terminale con il comando screencapture di macOS. Controllerai i permessi, proverai una singola acquisizione, creerai cicli per lo schermo intero e per un'area fissa, aggiungerai un eventuale tasto per cambiare pagina e imparerai a fermare e correggere l'esecuzione.
Controlla i permessi prima di verificare il comando
Se l'immagine è vuota o non include il contenuto protetto di un'app, il Terminale potrebbe aver bisogno dell'accesso alla registrazione dello schermo. Apri System Settings > Privacy & Security > Screen & System Audio Recording, autorizza il Terminale e riaprilo se macOS lo richiede.
Per i soli screenshot non serve Accessibilità. È necessaria soltanto quando osascript controlla un'altra app o invia un tasto tramite System Events.
Acquisisci uno screenshot dal Terminale
Parti da un singolo file:
screencapture -x "$HOME/Desktop/test-screenshot.png"
L'opzione -x disattiva il suono dello screenshot. Se il file è corretto, passa a un ciclo breve.
Tra le opzioni integrate più utili ci sono:
| Opzione | Risultato |
|---|---|
-R x,y,width,height | Acquisisce un rettangolo fisso |
-m | Acquisisce soltanto lo schermo principale |
-i | Fa scegliere interattivamente un'area o finestra |
-w | Consente soltanto la selezione di una finestra |
-T 5 | Ritarda l'acquisizione di cinque secondi |
-t jpg | Salva in formato JPG |
-C | Include il cursore in un'acquisizione non interattiva |
Il parametro -T funziona come semplice timer. Esegui man screencapture nel Terminale per vedere le opzioni disponibili nella tua versione di macOS.
Acquisisci lo schermo intero ogni pochi secondi
Prima di una sessione lunga, prova questo ciclo di tre fotogrammi:
RUN_DIR="$HOME/Desktop/screenshot-run-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$RUN_DIR"
COUNT=3
for ((i=1; i<=COUNT; i++)); do
screencapture -x "$RUN_DIR/frame-$(printf "%03d" "$i").png"
if (( i < COUNT )); then
sleep 5
fi
done
I file vengono ordinati come frame-001.png, frame-002.png e così via. La condizione evita l'attesa superflua di cinque secondi dopo l'ultimo screenshot.
Controlla tutti e tre i file prima di aumentare COUNT per l'esecuzione reale. Premi Control-C per fermarti in anticipo: i file già salvati restano nella cartella.
Acquisisci ripetutamente un'area fissa
Aggiungi -R quando l'area di destinazione non si sposta:
RUN_DIR="$HOME/Desktop/area-run-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$RUN_DIR"
COUNT=20
for ((i=1; i<=COUNT; i++)); do
screencapture -x -R 100,100,1200,800 "$RUN_DIR/frame-$(printf "%03d" "$i").png"
if (( i < COUNT )); then
sleep 5
fi
done
Il formato del rettangolo è x,y,width,height. Se la finestra si sposta, il comando continua ad acquisire le vecchie coordinate. Esegui prima tre fotogrammi e sposta la destinazione soltanto al termine del ciclo.
Sugli schermi Retina, un rettangolo logico di 400x300 può produrre uno screenshot Retina di 800x600. L'area del comando è corretta: macOS l'ha salvata alla densità di pixel del display.
Salva in JPG invece che in PNG
Usa -t jpg e l'estensione .jpg:
screencapture -x -t jpg "$HOME/Desktop/test-screenshot.jpg"
PNG è l'impostazione predefinita più sicura per testo dell'interfaccia e diagrammi. JPG occupa meno spazio con le fotografie, ma può rendere meno nitidi i caratteri piccoli.
Premi un tasto tra gli screenshot senza andare oltre
Questo ciclo acquisisce la pagina corrente, preme Freccia destra soltanto se resta un altro fotogramma e attende il rendering della nuova pagina:
RUN_DIR="$HOME/Desktop/page-run-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$RUN_DIR"
COUNT=50
for ((i=1; i<=COUNT; i++)); do
screencapture -x "$RUN_DIR/page-$(printf "%03d" "$i").png"
if (( i < COUNT )); then
osascript -e 'tell application "System Events" to key code 124'
sleep 1
fi
done
key code 124 corrisponde a Freccia destra. La condizione if (( i < COUNT )) evita di premere ancora il tasto dopo l'ultima pagina acquisita.
Prova prima con tre pagine. Mantieni in primo piano l'app di destinazione per tutta l'esecuzione: se lo stato attivo cambia, System Events invia la freccia all'app sbagliata.
Mantieni attivo il Mac durante una sessione lunga
Per un'esecuzione non presidiata, salva lo script in un file e avvialo con caffeinate:
caffeinate -i /bin/zsh "$HOME/Desktop/capture-run.zsh"
L'opzione -i impedisce la sospensione per inattività mentre lo script è in esecuzione. Non risolve però uno schermo bloccato, una finestra spostata o un'app che ha smesso di aggiornarsi: prova il flusso prima di lasciarlo procedere da solo.
Risolvi i problemi di un ciclo screencapture
| Sintomo | Cosa controllare |
|---|---|
| Immagine vuota o incompleta | Autorizza il Terminale a registrare lo schermo, riaprilo e riprova |
could not create image from display | Verifica che la sessione sia aperta e il display disponibile |
| Ritaglio sbagliato | Aggiorna le coordinate -R dopo aver sistemato la finestra |
| I file si sovrascrivono | Usa una nuova cartella con timestamp e nomi numerati univoci |
| Freccia destra agisce altrove | Riporta in primo piano l'app e riduci la prova a tre pagine |
| Una pagina viene saltata | Aumenta l'attesa dopo la pressione del tasto |
| Lo script continua a essere eseguito | Torna al Terminale e premi Control-C |
Quando uno script non è più la scelta semplice
L'automazione dalla riga di comando è adatta a coordinate stabili, file grezzi e flussi che sai mantenere. Se destinazione, numero, intervallo, tasto o controllo finale cambiano a ogni esecuzione, un'interfaccia visiva è più facile da regolare.
Shotomatic riunisce questi controlli e i fotogrammi acquisiti in un'unica app per Mac, con esportazione in immagini, ZIP, PDF e MP4. Scopri come gestisce l'automazione degli screenshot sul Mac.
Se le immagini esistono già e devi soprattutto confezionarle, segui la guida su come salvare gli screenshot in un PDF sul Mac.
Domande frequenti
Posso automatizzare gli screenshot dal Terminale del Mac?
Sì. macOS include screencapture, che puoi eseguire in un ciclo shell per salvare a intervalli screenshot dello schermo intero o di un'area fissa.
Come si ferma un ciclo screencapture?
Premi Control-C nella finestra del Terminale che esegue il ciclo. Gli screenshot già scritti sul disco rimangono nella cartella di output.
screencapture può salvare in JPG o PDF invece che in PNG?
Sì. Usa l'opzione -t con un formato supportato come jpg o pdf e assegna al file l'estensione corrispondente.
Uno script per screenshot può premere un tasto tra le acquisizioni?
Sì. Usa osascript con System Events, ma concedi l'accesso ad Accessibilità soltanto se necessario e mantieni in primo piano l'app di destinazione.
Articoli correlati
Altri articoliCome automatizzare gli screenshot sul Mac con gli strumenti integrati
Automatizza gli screenshot sul Mac con screencapture, Automator o Comandi Rapidi, includendo permessi, cicli sicuri e risoluzione dei problemi.

Come acquisire screenshot ripetuti con Automator sul Mac
Crea un flusso di screenshot in Automator con Take Screenshot e Loop; quando servono file ordinati, usa un'azione shell.

Automatizzare gli screenshot con l'app Comandi Rapidi sul Mac
Crea una routine di screenshot in Comandi Rapidi sul Mac, avviala con un'automazione personale e risolvi i problemi di script o permessi di registrazione.

Che cos'è l'automazione degli screenshot su Mac?
Scopri che cosa significa automatizzare gli screenshot su Mac, le differenze rispetto all'acquisizione manuale e al video e quando serve un flusso dedicato.

Trasforma screenshot ripetibili in lavori finiti
Shotomatic acquisisce, organizza ed esporta sessioni di screenshot sul Mac.