mac 截图 crontab 只截取桌面

mac 截图 crontab 只截取桌面

我有一段小小的 crontab 代码,每 15 分钟截取一次我的 Mac 的屏幕截图,作为日记功能,帮助我完成所有管理工作。几年来,它一直运行良好,但最近它开始只截取桌面和顶部的状态栏,屏幕上没有应用程序,底部没有应用程序停靠栏,桌面上甚至没有应用程序图标或文件。

如果我在终端中手动运行它,代码可以正常工作,但在 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 和 screencapure 屏幕捕获权限
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,再次重启

相关内容