Tutorial
Shotomatic Team
6 Min. Lesezeit

Screenshots auf dem Mac über die Kommandozeile automatisieren

Nutze macOS-screencapture-Schleifen für Vollbild, feste Bereiche und Seitenwechsel, mit sicheren Dateinamen und Fehlerbehebung.

Terminal-App-Symbol neben einer screencapture-Schleife auf dem Mac

In dieser Anleitung automatisierst du Screenshots im Terminal mit dem macOS-Befehl screencapture. Du prüfst die Berechtigung, testest eine einzelne Aufnahme, baust Schleifen für Vollbild und feste Bereiche, ergänzt optional einen Tastendruck zum Seitenwechsel und lernst, wie du den Lauf stoppst und Fehler behebst.

Berechtigung vor der Fehlersuche prüfen

Ist eine Aufnahme leer oder fehlen geschützte App-Inhalte, braucht Terminal möglicherweise Zugriff auf Bildschirmaufnahmen. Öffne Systemeinstellungen > Datenschutz & Sicherheit > Bildschirm- & Systemaudioaufnahme, erlaube Terminal den Zugriff und öffne es erneut, wenn macOS dazu auffordert.

Für Screenshots allein ist keine Bedienungshilfen-Berechtigung nötig. Sie wird nur benötigt, wenn osascript eine andere App steuert oder über System Events eine Taste sendet.

Einen Screenshot im Terminal erstellen

Beginne mit einer einzelnen Datei:

screencapture -x "$HOME/Desktop/test-screenshot.png"

Die Option -x schaltet den Screenshot-Ton aus. Sieht die Datei richtig aus, kannst du mit einer kurzen Schleife weitermachen.

Zu den nützlichen eingebauten Optionen gehören:

OptionErgebnis
-R x,y,width,heightFestes Rechteck aufnehmen
-mNur den Hauptmonitor aufnehmen
-iBereich oder Fenster interaktiv wählen
-wNur interaktive Fensterauswahl erlauben
-T 5Aufnahme um fünf Sekunden verzögern
-t jpgIm JPG-Format speichern
-CZeiger in einer nicht interaktiven Aufnahme einschließen

Die Option -T dient als einfacher Screenshot-Timer. Führe im Terminal man screencapture aus, um die auf deiner macOS-Version verfügbaren Optionen zu sehen.

Den ganzen Bildschirm alle paar Sekunden aufnehmen

Teste vor einem längeren Lauf diese Schleife mit drei Bildern:

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

Die Dateien werden als frame-001.png, frame-002.png und so weiter sortiert. Die Bedingung überspringt die unnötige Wartezeit von fünf Sekunden nach dem letzten Screenshot.

Prüfe alle drei Dateien, bevor du COUNT für den eigentlichen Lauf erhöhst. Mit Control-C kannst du vorzeitig stoppen; bereits gespeicherte Dateien bleiben im Laufordner erhalten.

Einen festen Bereich wiederholt aufnehmen

Füge -R hinzu, wenn das Ziel an derselben Stelle bleibt:

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

Das Rechteckformat lautet x,y,width,height. Wird das Fenster verschoben, nimmt der Befehl weiterhin die alten Koordinaten auf. Teste zuerst drei Bilder und bewege das Ziel erst nach dem Ende der Schleife.

Auf Retina-Displays kann ein logisches Rechteck von 400x300 einen Retina-Screenshot mit 800x600 Pixeln ergeben. Der Befehl hat den richtigen Bereich verwendet; macOS speichert ihn mit der Pixeldichte des Displays.

JPG statt PNG speichern

Nutze -t jpg und die Erweiterung .jpg:

screencapture -x -t jpg "$HOME/Desktop/test-screenshot.jpg"

Für Oberflächentext und Diagramme ist PNG die sicherere Voreinstellung. JPG erzeugt bei fotografischem Inhalt kleinere Dateien, kann kleine Schrift aber weicher darstellen.

Zwischen Screenshots eine Taste drücken, ohne zu weit zu gehen

Diese Schleife nimmt zuerst auf, drückt nur dann den Rechtspfeil, wenn noch ein weiteres Bild folgt, und wartet anschließend auf das Rendering der neuen Seite:

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 ist der Rechtspfeil. Die Bedingung if (( i < COUNT )) verhindert einen weiteren Tastendruck, nachdem die letzte Seite aufgenommen wurde.

Teste zuerst mit drei Seiten. Halte die Ziel-App während des gesamten Laufs im Vordergrund. Wechselt der Fokus, sendet System Events den Pfeil an die falsche App.

Mac bei einem langen Lauf wach halten

Speichere das Skript für einen unbeaufsichtigten Lauf in einer Datei und starte es mit caffeinate:

caffeinate -i /bin/zsh "$HOME/Desktop/capture-run.zsh"

Die Option -i verhindert den Ruhezustand bei Inaktivität, solange das Skript läuft. Sie behebt weder einen gesperrten Bildschirm noch ein verschobenes Fenster oder eine App, die sich nicht mehr aktualisiert. Teste den Ablauf deshalb, bevor du ihn unbeaufsichtigt lässt.

Fehler in einer screencapture-Schleife beheben

SymptomPrüfen
Leeres oder unvollständiges BildTerminal Zugriff auf Bildschirm- & Systemaudioaufnahme geben, neu öffnen und erneut testen
could not create image from displayPrüfen, ob die Session angemeldet und das Display verfügbar ist
Falscher Ausschnitt-R-Koordinaten aktualisieren, nachdem das Fenster endgültig platziert wurde
Dateien überschreiben einanderNeuen Ordner mit Zeitstempel und eindeutige fortlaufende Namen verwenden
Rechtspfeil landet in anderer AppFokus auf die Ziel-App zurücksetzen und den Test auf drei Seiten verkürzen
Eine Seite wird übersprungenWartezeit nach dem Tastendruck verlängern
Skript läuft weiterZum Terminal zurückkehren und Control-C drücken

Wenn ein Skript nicht mehr die einfache Lösung ist

Screenshot-Automatisierung über die Kommandozeile passt zu festen Koordinaten, unverarbeiteten Dateien und Abläufen, die du selbst pflegen möchtest. Wenn sich Ziel, Bildzahl, Abstand, Tastendruck oder Prüfschritt bei jedem Lauf ändern, lässt sich eine visuelle Oberfläche leichter anpassen.

Shotomatic hält diese Aufnahmeoptionen und die fertigen Bilder in einer Mac-App zusammen und exportiert Bilder, ZIP, PDF und MP4. Mehr dazu findest du unter Screenshot-Automatisierung mit Shotomatic auf dem Mac.

Sind die Bilder schon vorhanden und müssen vor allem zusammengefasst werden, folge der Anleitung „Screenshots auf dem Mac als PDF speichern“.

FAQ

Kann ich Screenshots auf dem Mac aus dem Terminal automatisieren?

Ja. macOS enthält screencapture. In einer Shell-Schleife kann der Befehl Vollbild- oder Bereichs-Screenshots in festen Abständen speichern.

Wie stoppe ich eine screencapture-Schleife?

Drücke im Terminalfenster der laufenden Schleife Control-C. Bereits gespeicherte Screenshots bleiben im Ausgabeordner erhalten.

Kann screencapture statt PNG auch JPG oder PDF speichern?

Ja. Nutze die Option -t mit einem unterstützten Format wie jpg oder pdf und gib der Ausgabedatei die passende Erweiterung.

Kann ein Screenshot-Skript zwischen Aufnahmen eine Taste drücken?

Ja. Verwende osascript mit System Events, erteile die Bedienungshilfen-Berechtigung aber nur bei Bedarf und halte die Ziel-App im Vordergrund.

Ähnliche Artikel

Weitere Artikel

Was bedeutet Screenshot-Automatisierung auf dem Mac?

Was Screenshot-Automatisierung auf dem Mac bedeutet, wie sie sich von manuellen Screenshots und Bildschirmaufnahmen unterscheidet und wann ein eigener Aufnahmeablauf sinnvoll wird.

8 Min. Lesezeit
Schreibtisch mit Laptop und Monitor für konzentriertes Arbeiten am Computer

Aus wiederkehrenden Screenshots fertige Ergebnisse machen

Shotomatic nimmt Screenshot-Serien auf, organisiert sie und exportiert sie auf deinem Mac.

Screenshots auf dem Mac über die Kommandozeile automatisieren | Blog | Shotomatic