XQuartz/Xterm 中不允许 Catalina 操作

Catalina Operation not permitted in XQuartz/Xterm

从 High Sierra 升级到 Catalina 后,我不能再在 XQuartz 下在我的主页方向(例如 ls 等)做简单的事情,得到错误:不允许操作。

我知道这是因为在以前的版本中引入了新的访问控制。网上有很多文章描述了如何通过在“系统偏好设置”的“安全”部分下添加“全盘访问”来为终端修复此问题。然而,尽管它看起来像是一个明显的变体,但我看不出有任何关于使它适用于 XQuartz 的东西。事实上,给予 XQuartz 和 Xterm 完整的磁盘访问权限似乎并不能解决问题。

有没有人明白这是怎么回事?

正如@dmr195 在评论中指出的那样,解决方案是将 /bin/bash(或任何 shell)添加到系统偏好设置的安全区域下的全磁盘访问列表中。

单击 window 中的 + 按钮时打开的选择器 window 不允许您导航至 /bin。但是,通过在常规 Finder window 中转到那里,您可以将 bash 拖放到完整磁盘访问列表中。

我无法让 Finder 看到 /bin 以便将其拖到完整磁盘访问 (FDA) 列表中。解决方案是从我的桌面创建动态 link 到 /bin 目录,finder 可以 看到。

使用 Mac 的 Hypterm 启动具有完全权限的 xterm 也很有帮助,例如在 link 之上创建。启动 Hypterm,然后更新定位数据库(命令为:updatedb)。这将提示您为 /bin/bash 也看不到的每个目录将 FDA 提供给 Hyperterm。之后,运行 xterm 瞧,FDA。

为 bash 添加完整磁盘访问将不起作用。

解决办法是打开Terminal应用程序,在Terminal中输入xterm打开XQuartz,然后你就可以用XQuartz访问全盘了。