当前位置:  开发笔记 > 编程语言 > 正文

"没有X11 DISPLAY变量" - 这是什么意思?

如何解决《"没有X11DISPLAY变量"-这是什么意思?》经验,为你挑选了3个好方法。

我正在尝试在我的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.(Window.java:407)
at java.awt.Frame.(Frame.java:402)
at net.sourceforge.mlf.metouia.borders.MetouiaDotsBuf fer.(MetouiaDotsBuffer.java:105)
at net.sourceforge.mlf.metouia.borders.MetouiaDots.(MetouiaDots.java:66)
at net.sourceforge.mlf.metouia.borders.MetouiaToolBar Border.(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.(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)

Paul Tomblin.. 107

如果你在主显示器上,那么

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正在隧道连接到本地盒的套接字.



1> Paul Tomblin..:

如果你在主显示器上,那么

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正在隧道连接到本地盒的套接字.


请注意,这是有效的,因为您在控制台上.如果您在另一个终端上,则必须在终端上运行X服务器,然后将环境设置为指向您的计算机(导出DISPLAY ='pauls terminal'的主机名:例如0.0)

2> Mikeage..:

你是在X11环境中运行吗?您可以使用终端窗口,但它必须在X之内(在图形登录之后,或通过运行startx).

如果你已经在一个图形环境中,尝试导出DISPLAY =:0表示bash,如shell(bash,sh等)或setenv DISPLAY:0表示基于C shell的shell(csh,tcsh等)

如果您通过SSH从另一台计算机连接,则使用-X选项在您所在的计算机上显示图形界面(前提是有一台X服务器在那里运行(例如xming for windows和标准Linux X)服务器).



3> Girdhar Sing..:

你必须在你的PuTTy中启用X11转发

要打开PuTTy,请转到Connection => SSH => Tunnels并选中Enable X11 forwarding

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

export DISPLAY=10.75.75.75:0.0

在此输入图像描述

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有