获取HeadlessException:未设置X11 DISPLAY变量

时间:2011-03-07 11:03:10

标签: java swing awt

    Exception in thread "main" java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it.

        at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
        at java.awt.Window.(Window.java:432)
        at java.awt.Frame.(Frame.java:403)
        at javax.swing.JFrame.(JFrame.java:202)
        at DrawGUI.(DrawGUI.java:15)
        at ShapeCreator.(ShapeCreator.java:31)
        at ShapeCreator.main(ShapeCreator.java:138)

此错误消息是什么意思?我该如何解决?

5 个答案:

答案 0 :(得分:18)

我假设您正试图通过隧道进入某个unix框。

确保在PuTTY设置中启用了X11转发。

enter image description here

答案 1 :(得分:3)

这似乎是一个更普遍的SWING / AWT / JDK问题,只有JBOSS安装程序:

下面接受的答案解决了我的问题:

Unable to run java gui programs with ubuntu

(“sudo apt-get install openjdk-6-jdk”)

答案 2 :(得分:2)

您的系统没有GUI管理器。主要发生在Solaris / Linux机器箱中。如果您在其中使用GUI,请确保安装了GUI管理器,并且您可能还想浏览 DISPLAY 变量。

答案 3 :(得分:0)

问题陈述 - 尝试从应用程序初始化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 +

答案 4 :(得分:0)

我认为您正在尝试从UNIX \ LINUX运行一些实用程序或shell脚本,它们具有一些GUI。无论如何

解决方案:老兄你需要的只是一台XServer& X11转发已启用。我使用XMing(XServer)。您已经启用了X11转发功能。只需安装它(XMing)并在使用PuTTY创建会话时继续运行。