我们都知道 Wine 是容器化运行 Windows 程序的。在我们通过 wine [程序.exe] 都会建立一个单独的容器,默认情况下会自动创建在 ~/ 创建一个 .wine 目录。
可以通过命令行
WINEPREFIX=/home/user/.wine/ winetricks
管理该容器。
而如果直接执行 winetricks 也会默认从这个路径上找。只要不自己修改或添加新容器,一般情况下 wine 都会使用这同一个容器。
如果你在 Linux 上玩游戏,你一定对于 Steam 的 SteamPlay 技术有了解,它的核心技术 proton 是基于 wine 开发的,能更好的兼容游戏场景。如果你想使用它则需要从库中点击 "添加游戏"-> 选择 "添加非Steam游戏" 即可。
不过它会为每一个添加的应用/游戏新建一个单独新的容器。此时如果你遇到一个这样的场景,应用A需要应用B的数据,此时就比较头疼。
此时呢就可以通过 winetricks 来管理不同的容器数据。像这样子:
WINEPREFIX=/home/user/.steam/steam/steamapps/compatdata/BoxId/pfx winetricks
其中 BoxID 对应的是每个添加进库的应用/游戏产生的单独目录。而 compatdata 存放着所有的容器数据。