È scarsamente documentato, ma è effettivamente possibile con il comando screencapture
.
screencapture ~/Desktop/screen1.png ~/Desktop/screen2.png [...]
Ecco la sezione pertinente da man screencapture
:
files where to save the screen capture, 1 file per screen
Ovviamente, se lo chiami a livello di codice, potresti non sapere quanti monitor ci sono, quindi dovrai analizzare l'output di system_profiler SPDisplaysDataType
o defaults read /Library/Preferences/com.apple.windowserver.plist
per determinare quanti argomenti di nome file passare a %codice%. Ad esempio:
$ system_profiler SPDisplaysDataType | grep "Online: Yes" | wc -l
2
Riferimenti
link
link