macOS 与 Linux 沙盒:每游戏独立家目录
在 macOS 与 Linux 上,沙盒换了一套思路:不是换账户,而是给每个游戏造一个假家目录,把真正的家目录藏起来。
独立家目录模型
- 沙盒内的游戏看到的「家目录」是它专属的隔离目录,不是真实的
$HOME。 - 游戏往「家目录」里写存档、写配置,实际落在隔离区。
- 真实家目录下的文档、下载、浏览器配置等敏感位置对游戏不可见。
这套模型的好处是隔离得比较干净,坏处是存档位置变化——玩家最常踩的坑,单独写成一篇:沙盒与存档。
Linux 的两种后端
Linux 上沙盒可以选择具体后端(在每游戏的启动设置里选):
| 后端 | 特点 |
|---|---|
| Auto | 应用自动选择可用的后端 |
| Bubblewrap | 轻量容器方案,社区常用 |
| Firejail | 另一款流行的沙盒工具 |
网络访问开关
Linux 后端还支持沙盒内网络访问开关:默认允许,也可以直接掐断。对不需要联网的单机作品,关掉网络是更彻底的隔离——恶意程序即使跑起来也传不出任何东西。
环境变量传递
沙盒会屏蔽宿主环境变量。某些游戏需要特定环境变量才能正常工作(如输入法、性能工具),可以在启动设置里显式列出允许传入的变量名,见 启动选项。
macOS 的情况
macOS 的实现走系统自身的机制,细节以官方文档为准;功能可能随版本变化,以官方最新版为准。