снимок экрана mac crontab получил только рабочий стол

снимок экрана mac crontab получил только рабочий стол

У меня есть небольшой код crontab, который делает скриншот моего mac каждые 15 минут, как дневник, чтобы помочь мне со всеми административными работами. Он работал нормально несколько лет, но недавно он начал делать только снимок рабочего стола и строки состояния наверху, без приложений на экране, без доков приложений внизу, даже без иконок приложений или файлов на моем рабочем столе.

Код работает нормально, если запустить его вручную в терминале, но в crontab возникают проблемы.

Я пытался переустановить crontab, но это не исправило ситуацию. И теперь у меня нет никаких трюков, чтобы исправить это.

Как заставить crontab работать с функцией захвата экрана, чтобы приложения тоже отображались на экране?

Я использую Mac Catalina версии 10.15.1.

*/15 * * * * /usr/sbin/screencapture -Cxd -tjpg ~/Documents/AutoScreenShot/screen-date +"\%Y\%m\%d-\%H\%M".jpg

решение1

У меня была та же проблема вчера днем, и после нескольких часов попыток я ее получил. Проблема в том, что cron не имеет доступа к экрану.

Вот решение

  1. закрыть SIP.

перезагрузите Mac и удерживайте cmd+r в режиме восстановления, откройте терминал ввода csrutil disable, перезагрузите снова

  1. предоставить разрешение на запись TCC

sudo chmod 664 /Library/Application\ Support/com.apple.TCC

  1. предоставить cron и screencapture привилегию
sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "/usr/sbin/cron", 1, 1, 1, "", "", "", "UNUSED", "", 0,"")'

sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "/usr/sbin/screencapture", 1, 1, 1, "", "", "", "UNUSED", "", 0,"")'
  1. Повторно включить SIP

перезагрузите Mac и удерживайте cmd+r в режиме восстановления, откройте терминал ввода csrutil enable, перезагрузите снова

Связанный контент