我正试图在我的Linux机器上安装一个Java应用程序(Slackware).

我收到了以下错误,我不理解.

你能告诉我如何解决这个问题吗?非常感谢.

以下是我得到的结果:(我看到大约需要设置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

在运行应用程序之前.

事实上,我很惊讶它不是自动设置的.您正在try 从非图形终端启动此应用程序吗?如果没有,您是否修改了默认设置.轮廓登录.巴什尔.cshrc?

请注意,如我所说,将DISPLAY设置为:0.0预先假定您正坐在主显示屏上,或者至少主显示屏已登录到您的用户id.如果未登录,或者是其他用户id,则此操作将失败.

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

Linux相关问答推荐

空字符串和空文件的区别

在Bluez/Linux中,周期性与连续蓝牙设备发现的已知缺陷是什么?

AddressSaniizer随机抛出没有任何解释的SIGSEGV

为什么我们不能使用${$#}来获取传递给shell 脚本的最后一个参数?

pci_user_write_config_word在哪里实现?

条件句if的正确写法是怎样的?

awk 使用动态列号

如何从 AWK 中的 CSV 列中获取中值? (Linux)

使用 awk 从文件中检索一组特定的字符串

nohup 是否可以跨管道工作?

从 Linux 到 Windows 交叉编译 C++ 应用程序的手册?

如何排除 tar 的绝对路径?

对一行的最后一个字段进行排序

如何将输出从 grep 传送到 cp?

crontab 命令单独一行

与交换空间相关的链接器性能?

如何在 Linux 上传递带感叹号的参数?

Linux下的签名可执行文件

Python日志(log)记录 - 判断日志(log)文件的位置?

如何自动启动 Solr?