linux中运行ZooInspector报错:Exception in thread "main" java.awt.HeadlessException

分类:计算机 | 其它 | 云服务 1209
更新:2022-04-13 12:52:21
编辑

参考资料

https://blog.csdn.net/Mr_T10/article/details/107723600

1 异常描述

在linux中使用命令:java -jar zookeeper-dev-ZooInspector.jar运行ZooInspector的时候,系统报错:Exception in thread "main" java.awt.HeadlessException. No X11 DISPLAY variable was set, but this program performed an operation which requires it.

2 异常分析

2.1 什么是 java.awt.headless?

Headless模式是系统的一种配置模式。在系统可能缺少显示设备、键盘或鼠标这些外设的情况下可以使用该模式。

2.2 何时使用和headless mode?

Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。

出现异常的原因大概就是我们要启动的程序需要用到一些图形显示设备,但是服务器缺少这些设备,而我们又没有开启headless mode。

3 异常解决

在/etc/profile文件中添加如下内容:

export DISPLAY=localhost:0.0

然后执行命令:

source /etc/profile

使得修改生效。