从 .desktop 文件启动 wine 图形应用程序

从 .desktop 文件启动 wine 图形应用程序

语境

我正在尝试通过单击任务栏中的图标来启动通过 wine 安装的 Ableton Live(我可以补充说,它运行正常!)。

正常行为

如果我从终端运行命令,看起来wine /path/to/program.exe一切都运行正常:我会在终端中收到一堆信息消息,并且会弹出一个带有 Ableton 的窗口。

问题行为

问题是,当我从文件运行它时,.desktop什么都没有发生。我尝试设置标志Terminal=true,然后它弹出一个终端,其中包含我通常在终端上看到的消息:所以我知道程序正在启动... 只是没有显示。

我猜

我不是专家,所以如果我用错了术语,请原谅我,但我的猜测是它与窗口服务器有关。因为当我从我的会话启动它时它没问题,但不知何故当从它启动时它.desktop无法显示,它似乎是明显的罪魁祸首。我想它是从另一个无法显示窗口的会话启动的。这个猜测的唯一问题是我到处都看到.desktop文件正在以用户身份运行命令,我甚至运行了以确认这whoami一点.desktop......所以我不知道下一步是什么。

感谢您的帮助!

答案1

好的,在尝试了一番之后,我得出结论,我最初的假设是错误的,问题不在于 Linux 方面。

当你启动时wine,linux 会被安装到Z:你的终端路径的驱动器上,例如:

/some/path$ wine cmd.exe
Z:\some\path>

我猜 Wine 需要该路径以某种方式保持一致,因为我意识到当您从路径.desktop不匹配的地方启动它时,我遇到的所有问题都源于此。我通过替换命令来修复它:

wine "C:\path\to\program"

wine cmd.exe /c "C:" "&" "C:\path\to\program"

这样,我就完全不需要追踪我所在的位置了Z:,而且你知道吗:现在 UI 出现了!

我不完全确定它为什么有效,但它确实如此……嗯!我希望这可以帮助别人!

相关内容