我正在尝试在我的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正在隧道连接到本地盒的套接字.
如果你在主显示器上,那么
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正在隧道连接到本地盒的套接字.
你是在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)服务器).
你必须在你的PuTTy中启用X11转发
要打开PuTTy,请转到Connection => SSH => Tunnels并选中Enable X11 forwarding
另外sudo到服务器并导出下面的变量这里IP是你本地机器的IP
export DISPLAY=10.75.75.75:0.0