cron 上的屏幕截图显示背景而不是窗口内容

2024-01-09

在 macOS 上,Catalina 在通过 cron 进行屏幕截图时遇到问题。 手动运行时do_screenshot.sh脚本然后一切都很好。 但是当它在 cron - 问题上自动运行时,只有菜单正确,而不是窗口内容显示 macOS 背景(见图)

do_screenshot.sh:

#!/bin/bash

DATEFULL=`date '+%Y%m%d%H%M%S'`
FILENAME="/Users/yak/Documents/screenshots/"$DATEFULL.png
/usr/sbin/screencapture -x $FILENAME

更新后也遇到这个问题了。花了几个小时学习细节,以下是原因和方法。信用去往大圈子 https://superuser.com/users/1123992/big-circle。原来的问题和答案here https://superuser.com/questions/1510312/mac-screenshot-crontab-only-got-desktop.

问题是 cron 没有屏幕访问权限。

这是解决方案

  1. 关闭SIP(系统完整性保护)。

确保您的 SIP 已禁用。检查SIP是否被禁用。前往终端并输入csrutil status。它应该显示 SIP 状态:启用/禁用。 要禁用它:

关闭 Mac,再次启动并按住 cmd+r 直到出现 OS X 实用程序窗口。开放式端子类型csrutil disable。再次重新启动,启动进入正常的 mac 操作系统。

  1. 授予 TCC 写权限

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

  1. 向 cron 和 screencapture 授予 screencapure 权限

    a) CRON:

       `sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "/usr/sbin/cron", 1, 1, 1, "", "", "", "UNUSED", "", 0,"")'`
    

    b) 屏幕截图:

       Pre Big Sur:
    `sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "/usr/sbin/screencapture", 1, 1, 1, "", "", "", "UNUSED", "", 0,"")'`
    

    --------------------------------------------------------------------------

       Big Sur and later:
    `sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "/usr/sbin/screencapture", 1,2,4,1, "", "", "", "UNUSED", "", 0,"")'`
    
  2. 在此阶段重新打开 SIP 可能是个好主意。要启用它,请按照步骤 1 操作,而不是csrutil disable只需输入csrutil enable.

编辑 @ 2021-12-09T11:58:00+1000:添加到 Big Sur 的命令中,并稍后根据评论添加西尔万·穆勒曼 https://stackoverflow.com/users/2454815/silvan-m%c3%bchlemann

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cron 上的屏幕截图显示背景而不是窗口内容 的相关文章

  • NSTokenField:标记的不同颜色

    我在我的 xib 中创建了一个 NSTokenField 我想在 tokenField 中显示不同颜色的令牌 含义 一些标记将是蓝色的 其余的将是红色的 根据其内容 那可能吗 以下代码对我不起作用 我希望有人能帮助我 id tokenFie
  • 在 Mac 上运行 Tkinter

    我是一个绝对的新手 我正在尝试为我的学校项目制作 Python GUI 所以我决定使用 Tkinter 当我尝试导入 Tkinter 时 它会抛出以下消息 gt gt gt import tkinter Traceback most rec
  • Mac OS X 上的 Qt 字体系列和样式

    我有一个基于 Qt PyQt 的 GUI 应用程序 在 Mac OS X 和其他平台 上运行 它允许用户选择字体并具有粗体和斜体选项的复选框 在更新到新的基于 Cocoa 的 Qt 时 用户发现QFontComboBox不再显示不同的字体样
  • 如何从 Mac OS X 导出证书以获得一对 .cert 和 .key 文件?

    我在 Mac 10 10 1 上创建了证书 并且在钥匙串访问证书中拥有私钥 在 Windows 上我必须使用这个 并且我需要 cert 和 key 文件 如何导出该证书以获得这两个文件 我可以导出为 pb12 或 cert 但不能导出为 c
  • 如何在 OS X 上安装 Intel TBB?

    如何在 OS X 10 6 上正确安装开源版本的英特尔线程构建模块 TBB 开源版本似乎没有正确的安装脚本 http www threadingbuildingblocks org ver php fid 154 http www thre
  • window.speechSynthesis.getVoices() 在 macOS safari 15.4 上返回空数组

    功能window speechSynthesis getVoices 在我的浏览器 macOS 12 3 1 Safari 15 4 上返回一个空数组 在以前的版本 Safari 15 3 macOs 12 2 上 该函数按照预期返回一个包
  • gem install rmagick 在 OS X El Capitan 上失败

    几天前我升级到 El Capitan 并运行了 brew update brew upgrade 它更新了 imagemagick 导致 ruby 的 rmagick gem 停止工作 我想没问题 我就跑 gem install rmagi
  • “代码 。”无法在 OS X/Mac 上的 Visual Studio Code 命令行上工作

    命令code 不起作用本手册 https code visualstudio com docs nodejs 之前的所有其他步骤都有效 如何在 OS X 终端中调用 Visual Studio Code pwd 用户 mona nodejs
  • TOpenDialog/NSOpenPanel 无法在沙盒 Delphi 应用程序中工作

    Firemonkey 应用程序中的 TOpenDialog 似乎存在问题 该应用程序已针对 Mac Appstore 进行沙箱处理 我使用XE3 但它也存在于XE2中 我其实在这里找到了一份QC报告 但仍然没有解决 http qc emba
  • 在 Mac (Catalina) 上安装 PyGame 时出错 [重复]

    这个问题在这里已经有答案了 我一直在尝试将 PyGame 安装到 Catalina 上的 Mac 上 但不知道如何安装 我收到的错误消息是 SystemExit error command gcc failed with exit stat
  • Mac OS X 下的 JavaFX:系统菜单和模态窗口

    我目前面临 Mac OS X 下的 JavaFX 菜单和模式对话框的问题 我正在使用该方法 MenuBar setUseSystemMenuBar true 为了将系统菜单栏用于我的应用程序菜单 这工作正常 但如果模式对话框打开 菜单不会被
  • 强制 Apache HTTPD 以 32 位运行

    我通过从二进制文件 以及 ppc 部分 中剥离 32 位架构 以 64 位模式运行 Apache HTTPD 我这样做是为了使其与 python 和 mysql 更加兼容 然而 我有另一台机器需要它以 32 位模式运行 它仍然保留所有四种原
  • 在 Mac 操作系统上使用 ffmpeg 录制视频

    我想在 mac OS 上使用 ffmpeg 以任何格式录制实时网络摄像头视频 我尝试了很多 但无法找到用于重新编码视频的命令 所以请任何人都可以告诉我 ffmpeg 命令用于使用 Mac 操作系统的网络摄像头捕获视频 提前致谢 对于 Mac
  • 仅在上午 10 点到下午 5 点之间每分钟运行一次 cron 作业

    如何仅在办公时间 上午 10 点到下午 5 点 之间每分钟运行一次 cron 作业 我检查了这个线程仅在特定时间每分钟运行一次 cron 作业 https stackoverflow com questions 11914445 run a
  • gem install mysql:无法构建 gem 本机扩展 (Mac Lion)

    我为 Mac OS X Lion 安装了 MySQL 5 5 27 来自 dmg 现在我尝试安装 mysql gem gem install mysql Building native extensions This could take
  • 核心数据 iCloud 同步中的关系完整性和验证

    考虑以下简单的实体模型 实体 A 与实体 B 具有一对一关系 称为b 实体 B 具有逆对一关系 称为a 这两种关系都不是可选的 A B b lt gt a 假设我们有两个设备 1 和 2 开始完全同步 每个对象都有一个 A 类对象和一个 B
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • 如何获取 CIFilter 类中的过滤器名称列表?

    我正在使用以下代码进行曝光调整及其工作 我需要锐化 降噪 高光 色温 阴影 模糊等滤镜名称 CIFilter filterWithName CIExposureAdjust keysAndValues inputImage imageVie
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • Docker 容器与主机网络的网络性能非常慢

    我遇到了 Docker 容器和主机网络之间网络性能缓慢的问题 我在 Docker 论坛上提出了这个问题 但到目前为止还没有收到答案 Problem 设置 同一本地网络上的两台 Mac 第一个运行 MQTT 代理 mosquitto 第二个运

随机推荐