禁用 X11 窗口

禁用 X11 窗口

我正在wineUbuntu 服务器上使用 (WineHQ) 来运行一个弹出窗口的 Windows 程序(仅用于状态更新,没有可点击的内容)。在 Wine 中,这是通过X11转发来完成的。

我想通过在ssh访问服务器时不显示它来禁用此窗口。我尝试在ssh不禁-Y用 X 转发的情况下进行操作,但wine抛出错误:

01b5:err:user:load_desktop_driver failed to load L"C:\\windows\\system32\\winex11.drv"
01b5:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
01b5:err:winediag:nodrv_CreateWindow The explorer process failed to start.

有没有办法欺骗系统并让它知道我正在创建一个 X11 窗口,但实际上并不显示它?

答案1

您可以使用Xvfb, 这虚拟帧缓冲区 X 服务器, 以此目的。

这是一个在内存中模拟哑帧缓冲区的 X 服务器,因此它不需要任何显示硬件或物理输入设备。

一些 Linux 发行版(如 Ubuntu)附带了xvfb-run包装器,它将启动 Xvfb 服务器,DISPLAY在运行传递的命令行时适当设置以使用它,并最终在命令完成后关闭 Xvfb 服务器。

在 Ubuntu 上,您可以使用以下命令安装 Xvfb 和 xvfb-run:

$ sudo apt-get install xvfb

然后运行您的应用程序:

$ xvfb-run 酒/路径/到/wine/应用程序

ssh这在没有-YX11 转发的会话中应该可以正常工作。

相关内容