我想从 shell 脚本运行 Windows 可执行文件(控制台应用程序)。这个脚本是一个自动构建包的更大项目的一部分,所以我需要避免用户交互。
其实我用的是这样的:
export WINEARCH=win64
export WINEPREFIX=/somewhere/$WINEARCH
wine pgen.exe
Run Code Online (Sandbox Code Playgroud)
它基本上有效,但有以下问题:
WINEPREFIX
为空(这是第一次运行的情况),则会出现一个对话框,显示等待配置。我想避免依赖于运行的 X 服务器。wine
则会显示一个窗口,要求安装 Gecko 并需要用户干预。WINEPREFIX
需要由调用wine的用户拥有,所以我不知道如何提供一个系统范围的包装器来运行上述应用程序。除了后一个问题(我可以没有),其他问题正在阻止。最后我只想运行一个控制台应用程序。
如果您wine
使用空运行$DISPLAY
,它将跳过显示任何对话框并在没有用户交互的情况下运行:
DISPLAY= wine pgen.exe
Run Code Online (Sandbox Code Playgroud)
为了避免前缀所有权问题,我通常指向WINEPREFIX
一个临时目录,以便每次都重新创建前缀(但这很慢)。
归档时间: |
|
查看次数: |
2350 次 |
最近记录: |