5

我有一个将 WebRenderer 用于 Java 无头浏览器的 Java 应用程序。WebRenderer 不需要 xserver 来运行,我已经通过卸载所有 x11 库和 xserver 组件确认了这一点。

但是问题是它会引发错误:Gtk-WARNING **: cannot open display:在某些情况下。经过研究,我发现安装了 openJDK 的系统通常会引发该错误。此外,当当前的 java 版本来自 Sun 但仍安装了 openJDK 时。要修复它,我需要卸载libatk-wrapper-javalibgtk2.0-0(也删除default-jrecedtea-netxlibatk-wrapper-java-jnilibgtk2.0-binopenjdk-6-jre)。

它还会在 openSUSE 中引发相同的错误(使用 Sun 的 Java)。是否有任何方法可以修复此错误,而无需启动 xserver 或卸载一堆其他可能需要的组件?任何帮助表示赞赏。

4

1 回答 1

1

是的,使用Xvfb.

在一个终端中,您运行Xvfb :1. 在另一个终端中,您运行DISPLAY=:1 ./yourapp.

一些发行版有一个xvfb-run脚本,可以Xvfb在同一命令上执行启动和您的应用程序的魔力。

http://en.wikipedia.org/wiki/Xvfb

谷歌Xvfb了解更多信息

于 2012-08-08T13:15:02.050 回答