diff options
Diffstat (limited to 'src/3rd_party/dbus-1.7.8/README.launchd')
-rw-r--r-- | src/3rd_party/dbus-1.7.8/README.launchd | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/3rd_party/dbus-1.7.8/README.launchd b/src/3rd_party/dbus-1.7.8/README.launchd deleted file mode 100644 index 701e57dd52..0000000000 --- a/src/3rd_party/dbus-1.7.8/README.launchd +++ /dev/null @@ -1,61 +0,0 @@ -Launchd[1,2] replaces init, inetd and cron on Mac OS X since 10.4 "Tiger". -dbus uses this service to provide a common session bus address for each user -and so deprecates the X11 enabled dbus-launcher. - -[1] http://developer.apple.com/MacOsX/launchd.html -[2] http://launchd.macosforge.org/ - - -Setup -=== - -Configure with --enable-launchd and --without-x (X11 should not harm but it's -simply not necessary any more) -After installation, to prevent a reboot, load the dbus session starter into -launchd by executing: -$ launchctl load /Library/LaunchAgents/org.freedesktop.dbus-session.plist - -You can change the launch agent dir via configure, but it's not recommended. -Make sure to execute the above line as the actual user for which you want to -use a session bus since launchd manages its agents on a per user basis. - - -How it works -=== - -Launchd allocates a socket and provides the unix path to it via the variable -DBUS_LAUNCHD_SESSION_BUS_SOCKET in launchd's environment. Every process -spawned by launchd (or dbus-daemon, if stared by launchd) can access it through -its own environment. Other processes can query launchd for it by executing: -$ launchctl getenv DBUS_LAUNCHD_SESSION_BUS_SOCKET -However, this is normally done by the dbus client lib for you. - -If launchd start dbus-daemon with a config file containing a "launchd:env=FOO" -address, as the default session config does with env=DBUS_LAUNCHD_SESSION_BUS_SOCKET, -the daemon will get the file descriptor from launchd and start listening on it. -The environment variable is used to get the actual socket path which is passed -to every service spawned by dbus-daemon as a result from autolaunch messages. -Please note that it's not possible to start dbus-daemon manually when using a -"launchd:" address. Only child processes of launchd can access the above -mentioned file descriptor! - -To create custom buses just set up an other launch agent. As a quick start copy -/Library/LaunchAgents/org.freedesktop.dbus-session.plist, change the label -to i.e. "org.freedesktop.dbus-foo" and change the SecureSocketWithKey value, -i.e. to "DBUS_LAUNCHD_FOO_BUS_SOCKET". This environment variable has to be set -in the config file for your new bus in the <listen> element (see session.config). -Then edit your /Library/LaunchAgents/org.freedesktop.dbus-foo.plist to start -dbus-daemon with "--config-file=/opt/local/etc/dbus-1/foo.conf" instead of -"--session". Now load the new plist onto launchd as described in the setup -section of this document. -Executing "launchctl export" should now give you two sockets, one in -DBUS_LAUNCHD_SESSION_BUS_SOCKET and the new DBUS_LAUNCHD_FOO_BUS_SOCKET. -To connect to this new bus use "launchd:env=DBUS_LAUNCHD_FOO_BUS_SOCKET". - -Since Mac OS X 10.5 "Leopard" you can also configure launchd to start -dbus-daemon on demand as soon as some process connects to the socket. Since -it's broken on 10.4 this feature is disabled per default. Look at -/Library/LaunchAgents/org.freedesktop.dbus-session.plist to change it. - -On the client side, the envvar DBUS_SESSION_BUS_ADDRESS can be normally used -but if it's not set, launchd is queried for the session bus socket. |