获取HeadlessException:未设置X11 DISPLAY变量
线程“main”中的exceptionjava.awt.HeadlessException:没有设置X11 DISPLAY变量,但是该程序执行了一个需要它的操作。 at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159) 在java.awt.Window。(Window.java:432) 在java.awt.Frame。(Frame.java:403) 在javax.swing.JFrame。(JFrame.java:202) 在DrawGUI。(DrawGUI.java:15) 在ShapeCreator。(ShapeCreator.java:31) 在ShapeCreator.main(ShapeCreator.java:138)
这个错误信息是什么意思? 我该如何解决?
我假设你正试图进入一些unix盒子。
确保在PuTTY设置中启用了X11转发。
这似乎是一个更普遍的SWING / AWT / JDK问题,只有JBOSS安装程序:
下面接受的答案解决了我的问题:
无法使用ubuntu运行java gui程序
(“sudo apt-get install openjdk-6-jdk”)
您的系统没有GUI管理器。 主要发生在Solaris / Linux机器箱中。 如果您在其中使用GUI,请确保安装了GUI管理器,并且您可能还想通过DISPLAY变量进行谷歌搜索。
问题陈述 – 尝试从应用程序初始化java.awt.Component时获取java.awt.HeadlessException,因为tomcat环境没有任何头(终端)。
问题 – Linux虚拟环境是在没有虚拟显示终端的情况下设置的。 试图安装虚拟显示器 – Xvfb,但Xvfb已经被redhat社区取消了。
解决方案 – 使用yum install xorg-x11-drv-vmware.x86_64安装’xorg-x11-drv-vmware.x86_64’并执行startx。 最后使用export DISPLAY =:0.0将显示设置为:0.0然后执行xhost +
我想你正试图从UNIX \ LINUX运行一些实用程序或shell脚本,它有一些GUI。 无论如何
解决方案:你需要的是一个XServer和X11转发function。 我使用XMing(XServer)。 您已经启用了X11转发function。 只需安装它(XMing)并在使用PuTTY创建会话时保持运行。