根本原因是macOS自10.14起TCC权限模型拦截屏幕录制,Sequoia中“假授权”普遍,须重置TCC数据库并逐项验证进程级权限:执行tccutil reset ScreenCapture命令清缓存,手动或终端注入屏幕录制、辅助功能、完全磁盘访问、麦克风四项权限,添加主程序及\_Desktop子进程,强制退出WindowServer重启图形服务,最后用sqlite3验证allowed=1且prompt_count≥1。

Mac上AnyDesk或向日葵远程连接后黑屏、仅显示鼠标指针,根本原因是macOS自10.14起强制实施的TCC(Transparency, Consent, and Control)权限模型拦截了屏幕录制能力,哪怕界面显示已勾选,系统底层仍可能拒绝授权——这种“假授权”现象在Sequoia系统中尤为常见,必须重置TCC数据库并逐项验证进程级权限。
确认是否真授权:检查TCC数据库实际状态
打开终端,执行:tccutil reset ScreenCapture com.oray.sunlogin → 再执行:tccutil reset ScreenCapture com.anydesk.anydesk。这两条命令会清空系统对向日葵和AnyDesk的屏幕录制授权缓存,强制弹出下一次启动时的原生授权对话框。【不执行此步,界面上看到的绿色开关只是UI欺骗,实际未写入TCC数据库】
执行后无需重启,直接关闭所有向日葵/AnyDesk进程,再重新双击启动即可触发真实授权弹窗。
补全四项关键权限(缺一不可)
方法一:手动添加主程序与后台进程双实体
在“系统设置→隐私与安全性→屏幕录制”中点击“+”,不要只加SunloginClient.app;按住Command+Shift+G,输入路径:/Applications/SunloginClient.app/Contents/MacOS/SunloginClient_Desktop,添加该可执行文件。同理,在“辅助功能”和“完全磁盘访问”中,也必须分别添加.app主体和_Desktop子进程——【仅添加.app无法覆盖后台渲染进程,黑屏必然复现】。
方法二:用终端批量注入权限(绕过GUI失效)
在终端依次运行:sudo tccutil reset Accessibility com.oray.sunloginsudo tccutil reset FullDiskAccess com.oray.sunloginsudo tccutil reset Microphone com.oray.sunlogin
每行执行后输入管理员密码。AnyDesk同理替换bundle ID为com.anydesk.anydesk。
重启图形上下文强制生效
第一步:在活动监视器中搜索“sunlogin”和“anydesk”,选中全部进程→右键“退出进程”。
第二步:按住Option键,点击左上角苹果图标→选择“强制退出”,在列表中找到“WindowServer”→点击“强制退出”。
第三步:系统会自动重启图形服务,约5秒后桌面恢复,此时立刻双击启动向日葵或AnyDesk。
这一步能清除DWM残留状态,避免因旧会话未释放导致新授权被忽略。
验证权限是否真正写入
在终端输入:sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db 'SELECT * FROM access WHERE client LIKE "%sunlogin%";' → 若返回结果中allowed字段为1且prompt_count≥1,说明授权已落库;若为空或allowed为0,说明前序步骤未完成,需重做重置与添加。
向日葵和AnyDesk的bundle ID必须完全匹配,大小写敏感,拼错一个字母都会导致权限失效。


















