完全无头运行 Wine

完全无头运行 Wine

我想无头运行 wine 并避免出现错误消息:

确保您的 X 服务器正在运行并且 $DISPLAY 设置正确。

有什么办法吗?还是我必须将其路由/转发到某个输出?它能从命令行运行吗?

答案1

注意:请注意此答案下面的评论。Xvfb 似乎已被弃用。

我不知道如何运行 wine完全无头式,但我可以指出xvfb。它可以创建一个虚拟显示器,X 服务器可以将其输出重定向到该虚拟显示器。无需连接物理显示器。我们使用它在无头式 Jenkins 集群上的浏览器中运行 selenium 测试。

这是否满足要求或者您是否执意要完全无头运行 wine?

答案2

您可以通过安装配置 Wine 以无头运行X 虚拟帧缓冲区。 例如:

sudo apt-get install xvfb
Xvfb :0 -screen 0 1024x768x16 &

安装 Wine:

# On 64-bit also run: sudo dpkg --add-architecture i386
sudo add-apt-repository -y ppa:ubuntu-wine
sudo apt-get update
sudo apt-get install wine

注意:有关详细的安装示例,请查看provision.sh脚本。

如果需要,安装字体:

winetricks allfonts

然后以以下方式运行您的应用程序:

DISPLAY=:0.0 wine my_app.exe

或者您可以导出它(因此运行时不需要上述前缀):

export DISPLAY=:0.0 # Select screen 0.

DISPLAY您对本地显示/输入服务的请求在哪里(或export DISPLAY=[user's machine]:0:)。


或者设置 X11 转发。这样您就不需要使用DISPLAY

基本上在无头服务器上以及您连接的机器上进行X11Forwarding yes设置。/etc/ssh/sshd_configForwardX11 yes/etc/sshd/ssh_config

然后,您可以在无头服务器上运行 GUI 应用程序,同时 wine 将能够连接到本地 X11 服务器,这样您就可以运行基于控制台的 DOS 可执行文件。

相关内容