Michael Spector
Michael Spector

Reputation: 37019

Is there a way to run GUI application in a headless way in Mac?

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!

Upvotes: 7

Views: 3125

Answers (2)

user133406
user133406

Reputation: 11

I have the same issue, currently found two more-or-less related articles:

https://spideroak.com/faq/questions/72/how_can_i_run_spideroak_without_the_gui_from_launchd/

and

http://lists.squeakfoundation.org/pipermail/seaside/2009-August/021270.html

basically what they suggest is using

--headless  

or

-vm-display-null 

options

Upvotes: -1

Bob Kuhar
Bob Kuhar

Reputation: 11140

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/

Upvotes: 2

Related Questions