我正在尝试在Linux机器(Slackware)上安装Java应用程序。

我收到以下错误,但我不明白。

您能告诉我如何解决这个问题吗?谢谢。

这是我得到的:(我知道有些X11 DISPLAY需要设置变量,但是我应该给它什么值?如何?)

~$ java -jar gate-5.0-beta1-build3048-installer.jar
- ERROR -

java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(Graphic sEnvironment.java:159)
at java.awt.Window.<init>(Window.java:407)
at java.awt.Frame.<init>(Frame.java:402)
at net.sourceforge.mlf.metouia.borders.MetouiaDotsBuf fer.<init>(MetouiaDotsBuffer.java:105)
at net.sourceforge.mlf.metouia.borders.MetouiaDots.<i nit>(MetouiaDots.java:66)
at net.sourceforge.mlf.metouia.borders.MetouiaToolBar Border.<init>(MetouiaToolBarBorder.java:49)
at net.sourceforge.mlf.metouia.MetouiaLookAndFeel.ini tComponentDefaults(MetouiaLookAndFeel.java:241)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefault s(BasicLookAndFeel.java:130)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefault s(MetalLookAndFeel.java:1591)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:537)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:581)
at com.izforge.izpack.installer.GUIInstaller.loadLook AndFeel(GUIInstaller.java:373)
at com.izforge.izpack.installer.GUIInstaller.<init>(G UIInstaller.java:116)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:30
at com.izforge.izpack.installer.Installer.main(Instal ler.java:62)

答案

如果您在主要显示上,那么

export DISPLAY=:0.0

或者,如果您使用的是CSH或TCSH

setenv DISPLAY :0.0

运行应用程序之前。

实际上,我很惊讶它不是自动设置的。您是否正在尝试从非图形终端启动此应用程序?如果没有,您是否修改了默认的.profile,.login,.bashrc或.cshrc?

请注意,将显示器设置为:0.0预先选择您坐在主显示器上,或者正如我所说的,或者至少将主显示登录到您的用户ID中。如果未登录,或者是不同的用户ID,则将失败。

如果您是从另一台计算机进来的,并且您在该计算机的主要显示屏上运行X,则可以使用" SSH -X主机名"连接到该主机,而SSH将向后转发X显示器。SSH还将确保正确设置了显示环境变量(前提是我在上面提到的各种点文件中不会混乱它)。在" SSH -X"会话中,显示环境变量将具有" Localhost:11.0"之类的值,该值将指向SSH隧穿的插座。

来自: stackoverflow.com