[Seaside] launchd headless on Mac OS X

Aaron Rosenzweig aaron at cocoanutstech.com
Sun Aug 2 12:52:58 UTC 2009

Hello Everyone,

I want to run either a Squeak or Pharo VM as a "service" in Mac OS X.  
That means a few things:

* headless operation
* automatically loads when the OS boots
* safely quits when the OS shuts down
* preferably controlled by launchd (launchctl)

I'm sorry if some of us are seeing "double" as I started posting  
first on the Pier list. There was some discussion there that has led  
me to start experimenting with VMMaker to try and solve my problem  
but while I'm doing that, I thought I'd post here. This really  
shouldn't be so hard. I see so many screencasts for Seaside done on a  
Mac and the one-click installers work so well on a Mac. Surely  
someone has tackled this issue before.

The one-click installers work pretty good. They even launch headless  
if you start them from the command line with the "-headless" option  
but only from a terminal window. You can't start them headless from  
launchd because it seems they are Carbon apps which require some  
minimal communication with the window server during startup. Sounds  
like a contradicted myself but it's true. If you have a login  
session, fire up terminal, then run headless that works. If you try  
to use launchd you get an error like this:

-headless: kCGErrorRangeCheck : Window Server communications from  
outside of session allowed for root and console user only

So, I'm about to try the Pier one-click installer and use VMMaker to  
produce a "unix-only" source tree that I compile that does not rely  
on Carbon to see what will happen.

Any help appreciated :-)
Thanks in advance,
-- Aaron

More information about the seaside mailing list