Если вы посмотрите на конец страницы mancapture, то увидите, что там написано:
Чтобы захватить содержимое экрана при входе в систему через ssh, необходимо запустить снимок экрана в той же иерархии начальной загрузки машины, что и в окне входа в систему: PID = pid окна входа в систему sudo launchctl bsexec $ PID screencapture [опции]
Поэтому я думаю, что вы могли бы сделать что-то подобное в своем сценарии оболочки, который вызывает cron:
# / Бен / ш loginwindowpid = `ps axo pid, comm | grep '[l] oginwindow' | sed -n 's # * \ ([^] * \). * $ # \ 1 # p'` sudo launchctl bsexec $ loginwindowpid screencapture /somedir/screen.png
Конечно, вам понадобится ваш идентификатор пользователя, чтобы не нуждаться в пароле для sudo.
То есть вы должны установить в / etc / sudoers команду visudo
youruserid ALL = (ALL) NOPASSWD: ALL