我正在尝试使用 ssh / 连接到服务器在 RedHAt7 上安装程序。我收到以下输出
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.greenstone.gatherer.Gatherer.init(Gatherer.java:284)
at org.greenstone.gatherer.Gatherer.<init>(Gatherer.java:234)
at org.greenstone.gatherer.GathererProg.main(GathererProg.java:78)
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at sun.awt.HeadlessToolkit.getScreenSize(Unknown Source)
at org.greenstone.gatherer.Configuration.<clinit>(Configuration.java:111)
... 3 more
如何修复 X11 显示?
答案1
如果目标主机上运行着 X 服务器,而您希望程序在那里显示,通常执行“export DISPLAY=:0”,其中 :0 表示正在运行的第一个 X 服务器。如果您在目标主机上运行着多个 X 服务器(例如 Xvnc),则 :0 可能会变成 :1 或其他数字,具体取决于 X 服务器配置。
如果您在本地运行 X 服务器(您正在连接的机器),则可以使用“ssh -X ...”或“ssh -Y”登录主机并将您的显示转发到远程运行的程序。请参阅其他答案通过 SSH 重定向 X 服务器。
编辑:请检查链接文章中的答案。
总结:
- 确保目标上安装了 xauth
- 在 /etc/sshd_config 中设置
X11Forwarding yes
- 使用 -vv 运行 ssh 来检查问题是什么(如果有的话)