假 X11 显示屏?

2022-09-03 08:24:23

我有一个使用AWT的Java程序,我想在无头系统上运行。程序的显示除了显示统计信息之外不执行任何其他操作。程序完成后,它将退出。显示屏上没有用户交互。该程序创建一个输出文件,我在构建系统中使用它。

有没有办法让Java程序在不配置X11显示器的情况下运行?我可以强制Java在不尝试显示任何内容的情况下运行程序吗?我无法访问源代码(它只是.jar文件),因此我无法对源代码进行修改。

关于我如何让它工作的任何想法?


答案 1

这里的基本问题是如何在没有X服务器的情况下运行Java应用程序;提供“假”X服务器只是一种选择。在 Java 1.4 及更高版本中,您可以执行以下操作:

java -Djava.awt.headless=true

这允许使用AWT的应用程序在没有X服务器的情况下在无外设系统上运行。


答案 2

Xvfb可以做你要求的事情。我自己没有用过它,但这里有一个维基百科的链接:http://en.wikipedia.org/wiki/Xvfb


推荐