Está mal documentado, pero de hecho es posible con el comando screencapture
.
screencapture ~/Desktop/screen1.png ~/Desktop/screen2.png [...]
Aquí está la sección relevante de man screencapture
:
files where to save the screen capture, 1 file per screen
Por supuesto, si lo llama programáticamente, es posible que no sepa cuántos monitores hay, por lo que tendrá que analizar la salida de system_profiler SPDisplaysDataType
o defaults read /Library/Preferences/com.apple.windowserver.plist
para determinar cuántos argumentos de nombre de archivo pasar. %código%. Por ejemplo:
$ system_profiler SPDisplaysDataType | grep "Online: Yes" | wc -l
2
Referencias
enlace
enlace