我有一个使用AWT的Java程序,我想在无头系统上运行.程序的显示除了显示统计数据外什么都不做.程序结束后退出.显示屏上没有用户交互.该程序创建了一个我在构建系统中使用的输出文件.
有没有办法在没有配置X11显示器的情况下运行Java程序?我可以强制Java运行程序而不尝试显示任何内容吗?我无法访问源代码(它只是.jar文件),因此我无法对源代码进行修改.
有关如何让它工作的任何想法?
这里的基本问题是如何在没有X服务器的情况下运行Java应用程序; 提供"假"X服务器只是一种选择.在Java 1.4及更高版本中,您可以执行以下操作:
java -Djava.awt.headless=true
这使得即使没有X服务器,使用AWT的应用程序也可以在无头系统上运行.
Xvfb可以满足您的要求.我自己没有用过它,但这里有一个维基百科的链接:http://en.wikipedia.org/wiki/Xvfb
您可以使用vncserver.
vncserver :1001 export DISPLAY=localhost:1001 java..
增加的优点是你可以使用vncserver实际查看gui'以防万一'
也可以在低分辨率和颜色深度下运行Xvnc.