0

我正在通过java <class file>命令运行一个简单的 java 客户端。java 命令实际上是由系统进程调用的。这是在 Unix 上。

我们遇到了 X11 Display 的问题。所以我们export DISPLAY=:0.0在启动文件中添加了显示问题就解决了。现在,当export DISPLAY=:0.0从启动文件中删除该行并再次运行 java 客户端时,我们无法恢复到旧状态,即,我们不再收到 X11 显示错误。所以有一些东西在系统上持续存在。有什么方法可以确保在运行客户端之前杀死 JVM 上下文?

我们已经杀死了触发 java 客户端的进程,然后重新启动该进程以再次运行 java 客户端。但没有成功回到旧状态。

[编辑] 我忘了提到我已经在停止文件中尝试过“取消设置显示”。启动文件在环境启动时运行,而停止文件在环境关闭时运行。我也尝试过无头模式,但这对我们的程序不起作用。

4

2 回答 2

3

如果您之前在当前 shell 中执行过 export 命令(甚至从启动文件中),那么该值就在您的环境中。取消设置(或获得具有干净环境的新外壳)是摆脱环境设置的唯一方法。

我建议在您的启动脚本中添加一行来回显 $DISPLAY,以便在您解决问题时可以清楚地看到当前设置的内容。

如果您的进程实际上不需要 xwindows 显示,您应该以无头模式启动 JVM。详情在这里

于 2009-02-12T18:30:07.017 回答
2

您可能在 shell 中设置了 DISPLAY 环境。尝试输入“export DISPLAY=”或“unset DISPLAY”。

于 2009-02-12T18:12:00.023 回答