Quería usar screencapture
para tomar una captura de pantalla de todos los monitores desde un script, pero esto solo parece capturar el monitor principal. ¿Cómo puedo usar screencapture
o cualquier otra herramienta a la que se pueda llamar desde la línea de comandos para capturar todos los monitores?
Está mal documentado, pero de hecho es posible con el screencapture
comando.
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 está llamando mediante programación, es posible que no sepa cuántos monitores hay, por lo que tendrá que analizar la salida system_profiler SPDisplaysDataType
o defaults read /Library/Preferences/com.apple.windowserver.plist
determinar cuántos argumentos de nombre de archivo pasar a screencapture
. Por ejemplo:
$ system_profiler SPDisplaysDataType | grep "Online: Yes" | wc -l
2
Referencias
https://stackoverflow.com/questions/20099333/terminal-command-to-show-connected-displays-monitors-solutions
http://hintsforums.macworld.com/showthread.php?p=695603
sin ladera