Launch Steam from Case-sensitive Root Filesystem on macOS
由于一些历史原因,steam 至今仍不支持运行在大小写敏感的 apfs 或 hfs 文件系统上。但是由于 steam 仅要求 ~/Library/Application Support/Steam
路径下的文件区分大小写即可,我们借助软连接和磁盘镜像来解决这个问题。
Create Case-insensitive Disk Image
打开 Disk Utility 在菜单中选择 File->New Image->Blank Image,在打开的窗口中填写磁盘镜像的 Name,Size 和 Format,注意这里一定要选不区分大小写的文件系统(建议 APFS)。本文假设镜像保存在 /usr/local/var/Steam.dmg
,Name 是 SteamData
。建立好后双击该镜像挂载,这样该镜像会挂载在 /Volumes/<Name>
下,在这里就是 /Volumes/SteamData
。
Setup Symbolic Link for Steam
在终端中执行:
1 | cd "~/Library/Application Support" |
接下来重新运行 steam.app 就可以愉快的玩耍啦。
Automatically Mount Image
这样一来虽然可以玩耍了,但是每次重新启动都要手动挂载该镜像,而且会在 Finder 侧边栏常年占据一个位置,十分不方便。我们可以新建一个 launchd 服务来帮助我们做这件事情,新建文件 ~/Library/LaunchAgents/data.steam.dmg.plist
并写入下述内容:
1 |
|
该文件的作用是在当前用户登陆之后自动运行一次 hdiutil attach -nobrowse /usr/local/var/Steam.dmg
命令,其中 -nobrowse
参数的作用是不在 Finder 中显示。接下来运行下述命令向 launchd 注册该服务:
1 | cd ~/Library/LaunchAgents |
至此就实现了开机自动挂载。