“没有 X11 DISPLAY 变量”——这是什么意思?

新手上路,请多包涵

我正在尝试在我的 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)

原文由 user42155 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

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

export DISPLAY=:0.0

或者如果您使用的是 csh 或 tcsh

 setenv DISPLAY :0.0

在运行您的应用程序之前。

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

请注意,将 DISPLAY 设置为 :0.0 前提是您正坐在主显示屏上,正如我所说,或者至少主显示屏已登录到您的用户 ID。如果它没有登录,或者它是不同的用户 ID,这将失败。

如果你是从另一台机器进来的,并且你在那台机器的主显示器上并且它正在运行 X,那么你可以使用“ssh -X hostname”连接到该主机,ssh 会将 X 显示转发回来. ssh 还将确保正确设置了 DISPLAY 环境变量(前提是它没有在我上面提到的各种点文件中被弄乱)。在“ssh -X”会话中,DISPLAY 环境变量将具有类似“localhost:11.0”的值,它将指向 ssh 正在通过隧道连接到本地机器的套接字。

原文由 Paul Tomblin 发布,翻译遵循 CC BY-SA 2.5 许可协议

你必须在 PuTTy 中启用 X11 转发

为此,打开 PuTTy,转到 连接 => SSH => 隧道 并选中 启用 X11 转发

也 sudo 到服务器并导出下面的变量这里 IP 是你本地机器的 IP

 export DISPLAY=10.75.75.75:0.0

在此处输入图像描述

原文由 Girdhar Singh Rathore 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏