从不同的终端路径运行 Wine 应用程序会产生不同的结果吗?

从不同的终端路径运行 Wine 应用程序会产生不同的结果吗?

我将使用游戏“cosmoteer”作为示例(因为它是免费的),但我在其他人的游戏里也遇到了这个问题。

问题:
如果我运行:

cd /path/to/executable/
wine exec.exe

程序运行。

但如果我这么做:

wine /path/to/executable/exec.exe

程序/应用程序更改了“工作目录”(我认为它是这样称呼的)并且无法执行。
你们知道这里的问题是什么吗?我在网上找不到与此类似的解决方案。或者至少有一个有解决方案的,其中大多数都是没有答案的空线程。

答案1

问题是 Wine 有一个特殊的命令来处理这个问题。你必须发出

wine start /d <path> 

<path>开始的目录在哪里。

https://wiki.winehq.org/Start

答案2

wine 可执行文件不会将目录更改为您传递给它的可执行文件的路径。这是必要的,否则您将无法运行 wine /path/to/7-zip 并让它在当前目录上运行......它总是会令人烦恼且无用地在 7-zip 目录上运行!

对于 Windows 应用程序,可执行文件的文件夹中经常会存在各种依赖项,因此最好在运行之前先 cd 到该文件夹​​中。如果您不想丢失当前目录,您可以随时执行以下操作:

pushd /path/to/executable/
wine exec.exe;
popd

希望有所帮助。

PS 我很想知道你采取了哪些步骤,以及你让 cosmoteer 运行起来的运气如何。我的朋友暂时迷上了这款游戏,我想尝试一下,但我无法运行安装程序。它只是告诉我我的系统不符合 dotnet 框架要求,但我使用 playonlinux 在游戏开始前将最新版本 (4.5) 安装到 Bottle 中……

相关内容