Se você olhar para o final da página de captura de tela, verá:
To capture screen content while logged in via ssh, you must launch screencapture in the same mach bootstrap hierarchy as loginwindow: PID=pid of loginwindow sudo launchctl bsexec $PID screencapture [options]
Então, acho que você poderia fazer algo assim em seu script de shell que o cron chama:
#/bin/sh loginwindowpid='ps axo pid,comm | grep '[l]oginwindow' | sed -n 's# *\([^ ]*\).*$##p'' sudo launchctl bsexec $loginwindowpid screencapture /somedir/screen.png
Naturalmente, você precisará do seu conjunto de ID de usuário para não precisar de uma senha para o sudo.
Isso é você definir em / etc / sudoers com o comando visudo
youruserid ALL=(ALL) NOPASSWD: ALL