![使用 wine 运行批处理文件](https://linux22.com/image/1163186/%E4%BD%BF%E7%94%A8%20wine%20%E8%BF%90%E8%A1%8C%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6.png)
所以,我最近一直在玩《星球大战:帝国战争》(使用 lutris、wine)。但是,没有模组,游戏有点无聊。所以,我下载了我最喜欢的模组并将其放入模组文件夹中。自述文件告诉我在游戏主页方向执行批处理文件。我将 lutris 指向 .bat,然后打开游戏。它甚至没有打开。我检查了日志(在这里:https://pastebin.com/f2etC8vT)。我用gedit打开了批处理,其内容为:“swfoc MODPATH=Mods\Imperial_Civil_War225”
我对 Linux 和 Wine 都不是很陌生,但我仍然是个初学者,如果你们能帮忙就太好了。非常感谢 :-)
答案1
从您的日志中我可以看到批处理脚本不起作用,因为它找不到可执行文件西南财经大学。
尝试在.bat 文件中设置可执行文件的完整路径,例如您的情况:
C:\GOG Games\Star Wars - Empire At War Gold\swfoc.exe
您也可以尝试直接使用 wine 运行该程序:
wine ./swfoc.exe "MODPATH=Mods\Imperial_Civil_War225"
您可能需要将WINEPREFIX
变量设置为游戏的前缀,例如(这是默认的):
WINEPREFIX="$HOME/.wine" wine ./swfoc.exe "MODPATH=Mods\Imperial_Civil_War225"
我不使用 lutris,所以我不知道是否有一种简单的方法可以在其中获取前缀的路径。
如果可行,那么您可以用自己的 shell 脚本替换 .bat 脚本来创建启动器:
#!/bin/bash
wine ./swfoc.exe "MODPATH=Mods\Imperial_Civil_War225"
将其粘贴到文件中(我们将其命名为launcher
),然后保存并运行chmod 755 launcher
以使其可执行。然后您可以直接运行此快捷方式。