所以,我最近(再次)从 Window$ 搬走了,我想把我的游戏库搬过来。
我已经为 Linux 安装了 Steam(这样我就可以玩本地支持的游戏),但现在我必须为 Wine 安装 Steam,这样我才能玩所有非本地游戏。
我的问题是我同时运行两个版本的 Steam,这可能会浪费资源(更不用说每次找不到此类别的游戏时我都必须切换到不同的版本,这很烦人,或者反之亦然)。
有什么方法可以诱骗 Steam for Linux 通过 Wine 启动 Windows 游戏吗?
例如,我是否可以Play
从我的 Linux 安装中点击 Skyrim 之类的按钮,然后让 Steam 在命令前加上wine
?同时,原生游戏应该在没有任何前缀的情况下运行。
我在 Linux Steam 客户端通过 wine 启动应用程序取得了一些成功。正如 Michael 所建议的,您需要使用 shell 脚本来启动它们。
例如,我用它来启动流亡之路,命名为
poe.exe
:如果不取消设置 LD_PRELOAD,游戏不会为我启动。此外,文件的权限必须是可执行的。
我在脚本上设置权限(例如):
然后我使用添加非 Steam 游戏选项,然后浏览到脚本。
所以,这就是你如何添加一个通用的葡萄酒游戏......
要回答您的问题并添加 Steam 游戏,您需要创建一个调用 steam.exe 并传递游戏 ID 的脚本。这将导致启动第二个 Steam 实例,但您不需要让它一直运行,就在第二个游戏运行时。所以这是另一个脚本,它通过 wine 使用适当的 url 调用 windows steam 客户端来启动 unturned 的 windows 版本:
在这种情况下,我不知道 LD_PRELOAD 上的未设置是必需的,但我的其他脚本使用了它。
注意:仅当您在安装 Steam(或其他 Windows 程序)时指定了 WINEPREFIX 时,才需要指定 WINEPREFIX。如果您在为 Windows 安装 Steam 时没有指定一个,那么您的脚本中就不需要一个。如果是这种情况,您将希望将其替换为
~/.wine/
.您可以尝试该
Add a Non-Steam Game
选项并将其定向到启动游戏的 shell 脚本,但这不会解决太多问题,因为它还会启动 Windows Steam 客户端,因为作为 DRM 过程的一部分,需要客户端对游戏进行身份验证。如果 Linux 客户端可以验证 Windows 游戏的 DRM,那么一切都会好起来的,但它只是行不通。