在我们通过 wine [程序.exe] 都会建立一个单独的数据容器,默认情况下会自动创建一个 ~/.wine 目录。
可以通过以下命令行管理该容器:
WINEPREFIX=/home/user/.wine/ winetricks
而如果直接执行 winetricks 也会默认从这个路径上找。只要不自己修改或添加新容器,一般情况下 wine 都会使用这同一个容器。
如果你在 Linux 上玩游戏,你一定对于 Steam 的 SteamPlay 技术有了解,它的核心技术 proton 是基于 wine 开发的(wine 的 fork 版本),因为预装了很多环境,开箱即用能更好的兼容游戏场景。如果你想使用它则需要从库中点击 "添加游戏"-> 选择 "添加非Steam游戏" 即可。
不过它会为每一个添加的应用/游戏新建一个单独新的容器。此时如果你遇到一个这样的场景,应用A需要应用B的数据,此时就比较头疼。
所以,话说为什么我们不直接调用 proton 选固定的数据容器呢?
一般情况下,是直接使用 Steam 来启动,但除此之外,还有几种方式。
一种是安装了 protontricks 然后通过终端使用 protontricks-launch [**.exe] 来启动 (一般会附带) 或者通过 protontricks 打开 文件管理 软件,然后再点开 .exe 程序也是可以的。
另一种是不借助这些第三方软件,直接在终端使用命令行:
STEAM_COMPAT_CLIENT_INSTALL_PATH=[steam安装位置] \
STEAM_COMPAT_DATA_PATH=[容器路径] \
[proton程序路径] run [要执行的exe路径]
其中的 [内容] 为:
| 说明 | 路径 |
|---|---|
| steam安装路径 | ~/.steam/steam/ |
| 容器路径 | ~/.steam/steam/steamapps/compatdata/BoxId |
| proton程序路径 | ~/.steam/steam/steamapps/common/Proton\ -\ Experimental/proton |
如果觉得每次手动指定变量来启动比较麻烦,动手能力强的话你也可以写个快捷脚本。
如果需要用到 wine 的命令行
STEAM_COMPAT_CLIENT_INSTALL_PATH=[steam安装位置] \
STEAM_COMPAT_DATA_PATH=[容器路径] \
[proton程序路径] cmd
可以这样去调用 winecfg 去调整 DPi:
STEAM_COMPAT_CLIENT_INSTALL_PATH=[steam安装位置] \
STEAM_COMPAT_DATA_PATH=[容器路径] \
[proton程序路径] winecfg
找到 显示 -> 屏幕分辨率 调大即可:
