如何在 macOS 中完全禁用隔离?

meg*_*mer 5 quarantine macos macos-bigsur

在 macOS Big Sur (v11.2.3) 中,如何针对我下载的所有应用程序完全禁用以下警告(参见屏幕截图)?是的,我知道潜在的安全风险,并且我愿意承担这些风险。

我试过了:

sudo defaults write com.apple.LaunchServices LSQuarantine -bool NO
Run Code Online (Sandbox Code Playgroud)

我还完全禁用了 Gatekeeper:

sudo spctl --master-disable
Run Code Online (Sandbox Code Playgroud)

我尝试重新启动系统,但 macOS 仍然不断向我下载的任何新文件添加隔离标志(我不关心我已经下载的旧文件)。我还能尝试什么?

截屏

meg*_*mer 1

不幸的是,我还没有找到本地执行此操作的方法。但正如 @Spiff 在上面的评论中建议的那样,有一个解决方法:

首先,安装Homebrew(如果尚未安装)。然后,在终端中运行以下三个命令:

brew install watchman
watchman watch ~/Downloads
watchman -- trigger ~/Downloads removequarantine '*' -- ~/remove-quarantine.sh
Run Code Online (Sandbox Code Playgroud)

第一个命令将安装watchman,一个开源文件监视工具。另外两个命令将为下载文件夹设置一个观察程序。每当在该文件夹中添加或修改文件时,watchman 都会调用~/remove-quarantine.sh. 我们仍然需要创建该脚本。使用文本编辑器创建一个新文件并将其命名为remove-quarantine.sh,将其放置在您的主文件夹中,并向其中添加以下行:

xattr -dr com.apple.quarantine ~/Downloads/$1
Run Code Online (Sandbox Code Playgroud)

您可以在我撰写的有关此内容的博客文章中找到更多详细信息。