我正在使用以下技术在Linux和Windows中运行GUI应用程序:
Linux的:
:~$ Xvfb :99 -ac &
:~$ DISPLAY=:99 ./app
这在Mac OS X中不适用于100%,即使默认安装了Xvfb,因为大多数应用程序在Aqua环境中运行,并且只是忽略DISPLAY变量设置。
Windows(程序化方式):
HDESK hDesk=CreateDesktop(TEXT("Virtual"),NULL,NULL,NULL,GENERIC_ALL,NULL);
if(hDesk!=NULL) {
// create process in this desktop
CloseDesktop(hDesk);
}
Mac OS X:
如何在Mac OS X中执行相同的操作(从命令行或以编程方式)? 谢谢!
答案 0 :(得分:3)
这是一个Java问题吗?我不认识HDESK和CreateDesktop调用,但是在JVM本身中,你可以通过在无头系统属性定义的情况下调用java来在任何地方运行无头...
java -Djava.awt.headless=true
至少我在Windows和Linux上取得了成功。我希望它能以相同的方式在OS X上运行。这篇文章解释得非常好:http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/
答案 1 :(得分:-1)
我有同样的问题,目前发现了两个或多或少的相关文章:
https://spideroak.com/faq/questions/72/how_can_i_run_spideroak_without_the_gui_from_launchd/
和
http://lists.squeakfoundation.org/pipermail/seaside/2009-August/021270.html
基本上他们建议使用
--headless
或
-vm-display-null
选项