captura de tela do mac crontab só tem desktop

captura de tela do mac crontab só tem desktop

Eu tenho um pequeno código crontab que faz uma captura de tela do meu mac a cada 15 minutos, como um diário para me ajudar em todos os trabalhos administrativos. Ele está funcionando bem há alguns anos, mas recentemente começou a ocupar apenas a área de trabalho e a barra de status na parte superior, sem aplicativos na tela, sem encaixes de aplicativos na parte inferior, nem mesmo ícones de aplicativos ou arquivos na minha área de trabalho.

O código funciona bem se eu executá-lo manualmente no terminal, mas funciona no crontab.

Tentei reinstalar o crontab, mas não resolveu. E agora estou sem truques para consertar isso.

Como faço para que o crontab funcione com captura de tela para colocar os aplicativos na tela também?

Estou executando um Mac Catalina versão 10.15.1.

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

Responder1

Tive o mesmo problema ontem à tarde e depois de horas tentando, consegui. O problema é que o cron não tem acesso à tela.

Aqui está a solução

  1. feche o SIP.

reinicie o Mac e mantenha pressionado cmd + r no modo de recuperação, abra a entrada do terminal csrutil disablee reinicie novamente

  1. conceder permissão de gravação ao TCC

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

  1. conceder privilégio screencapure para cron e 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. Reativar SIP

reinicie o Mac e mantenha pressionado cmd + r no modo de recuperação, abra a entrada do terminal csrutil enablee reinicie novamente

informação relacionada