I'm using following techniques to run GUI application in Linux and Windows:
Linux:
:~$ Xvfb :99 -ac &
:~$ DISPLAY=:99 ./app
This won't work for 100% in Mac OS X, even though Xvfb is installed by default, since most applications run in Aqua environment, and simply ignore DISPLAY variable setting.
Windows (programmatic way):
HDESK hDesk=CreateDesktop(TEXT("Virtual"),NULL,NULL,NULL,GENERIC_ALL,NULL);
if(hDesk!=NULL) {
// create process in this desktop
CloseDesktop(hDesk);
}
Mac OS X:
How do I do the same in Mac OS X (either from command line or in a programmatic way)? Thanks!
Is this a Java question? I don't recognize either the HDESK nor the CreateDesktop call, but in the JVM itself, you can run headless pretty much anywhere by invoking java with the headless System Property defined...
java -Djava.awt.headless=true
I've had success with this on Windows and Linux at least. I would expect it to work on OS X in the same manner. The article explains it pretty well: http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With