尝试使用 GUI 运行 Java 实用程序时出现 X11 转发错误
X11 Frwarding Error while trying to run a Java Utility with GUI
我正在尝试通过 PuTTY 在 UNIX 服务器上 运行 一个 java 实用程序。这个 JAVA 实用程序启动一个 GUI。当我 运行 此实用程序使用以下命令时
./DAVTree.sh
我收到以下错误
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation
which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at javax.swing.JFrame.<init>(Unknown Source)
at com.sas.services.webdav.tools.DAVTree.<init>(DAVTree.java:319)
at com.sas.services.webdav.tools.DAVTree.main(DAVTree.java:944)
我在互联网上搜索了一个名为 X11 Forwarding
的问题,但我不知道那是什么,但我通过谷歌搜索遵循了建议,所以我使用 PuTTY 创建了一个新会话
Connection > SSH > X11
检查是 Enable X11 Forwarding
现在,当我再次 运行 实用程序时,error\exception 消息已更改,现在说。
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window
server using 'localhost:10.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access0(Unknown Source)
at sun.awt.X11GraphicsEnvironment.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at java.awt.Window.init(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at javax.swing.JFrame.<init>(Unknown Source)
at com.sas.services.webdav.tools.DAVTree.<init>(DAVTree.java:319)
at com.sas.services.webdav.tools.DAVTree.main(DAVTree.java:944)
现在说没有设置DISPLAY变量。所以我试试这个
export DISPLAY=kcsclm92:7001
kcsclm:7001 将是我的服务器。在此之后,当我 运行 实用程序时,它给出了相同的错误,只有以下区别
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window
server using 'kcsclm92:7001' as the value of the DISPLAY variable.
这之后我已经在盲目工作了,我没有更多的尝试了。请帮忙。
p.s。 (对于了解 SAS 的人)我在 UNIX 服务器上部署了 SAS,我正在尝试 运行 DAVTree Utility。
您的 本地 Windows 机器 需要 X "server" 运行。 (是的,术语令人困惑)。尝试 http://mobaxterm.mobatek.net/
注意,Putty 会自动创建正确的 DISPLAY 设置,所以不要更改它(localhost:10
听起来不错)。
我正在尝试通过 PuTTY 在 UNIX 服务器上 运行 一个 java 实用程序。这个 JAVA 实用程序启动一个 GUI。当我 运行 此实用程序使用以下命令时
./DAVTree.sh
我收到以下错误
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation
which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at javax.swing.JFrame.<init>(Unknown Source)
at com.sas.services.webdav.tools.DAVTree.<init>(DAVTree.java:319)
at com.sas.services.webdav.tools.DAVTree.main(DAVTree.java:944)
我在互联网上搜索了一个名为 X11 Forwarding
的问题,但我不知道那是什么,但我通过谷歌搜索遵循了建议,所以我使用 PuTTY 创建了一个新会话
Connection > SSH > X11
检查是 Enable X11 Forwarding
现在,当我再次 运行 实用程序时,error\exception 消息已更改,现在说。
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window
server using 'localhost:10.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access0(Unknown Source)
at sun.awt.X11GraphicsEnvironment.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at java.awt.Window.init(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at javax.swing.JFrame.<init>(Unknown Source)
at com.sas.services.webdav.tools.DAVTree.<init>(DAVTree.java:319)
at com.sas.services.webdav.tools.DAVTree.main(DAVTree.java:944)
现在说没有设置DISPLAY变量。所以我试试这个
export DISPLAY=kcsclm92:7001
kcsclm:7001 将是我的服务器。在此之后,当我 运行 实用程序时,它给出了相同的错误,只有以下区别
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window
server using 'kcsclm92:7001' as the value of the DISPLAY variable.
这之后我已经在盲目工作了,我没有更多的尝试了。请帮忙。
p.s。 (对于了解 SAS 的人)我在 UNIX 服务器上部署了 SAS,我正在尝试 运行 DAVTree Utility。
您的 本地 Windows 机器 需要 X "server" 运行。 (是的,术语令人困惑)。尝试 http://mobaxterm.mobatek.net/
注意,Putty 会自动创建正确的 DISPLAY 设置,所以不要更改它(localhost:10
听起来不错)。