After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 685509 - Gconf does not work with launchd and no X server
Gconf does not work with launchd and no X server
Status: RESOLVED FIXED
Product: GConf
Classification: Deprecated
Component: gconf
2.28.x
Other Mac OS
: Normal normal
: ---
Assigned To: GConf Maintainers
GConf Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-10-04 17:39 UTC by Simon Wagner
Modified: 2012-10-09 19:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
fix early bailout when using launchd on Mac OS X (1.23 KB, patch)
2012-10-09 19:19 UTC, Simon Wagner
committed Details | Review

Description Simon Wagner 2012-10-04 17:39:41 UTC
Currently gconf does not work when no X Server is present. However, an X Server is not needed to start gconfd. The problem is a certain line in gconf-internals.c that checks wether gconfd can be started, but bails out, when the DISPLAY environment variable is not set.

A bug report and a patch is available at https://trac.macports.org/ticket/35653, please take a look if the patch is acceptable.

The line is still present in the current master branch.
Comment 1 André Klapper 2012-10-04 21:54:03 UTC
GConf 2.28 is from 2009/2010. Is this still an issue with recent versions?
Comment 2 Simon Wagner 2012-10-04 21:56:59 UTC
Yes, I assume it is. Although I have not tested it, it is very likely, as the code that causes the bug is still unchanged in the current master branch.
Comment 3 Simon Wagner 2012-10-08 14:12:50 UTC
could please someone confirm that this patch is acceptable so it might be applied in MacPorts?
Comment 4 Ray Strode [halfline] 2012-10-09 16:41:52 UTC
probably okay, the dbus docs say:

Launchd allocates a socket and provides the unix path to it via the variable
DBUS_LAUNCHD_SESSION_BUS_SOCKET in launchd's environment.
...
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

So it seems analagous enough.

If you attach the patch as a git-bz formatted patch with correct author and good commit message etc, i'll push it.
Comment 5 Simon Wagner 2012-10-09 19:19:47 UTC
Created attachment 226139 [details] [review]
fix early bailout when using launchd on Mac OS X

we did not check if DBUS_LAUNCHD_SESSION_BUS_SOCKET
was set. If this environment variable exists, launchd
will start the gconf daemon and we won't need a
X server to start the daemon.
Comment 6 Ray Strode [halfline] 2012-10-09 19:21:58 UTC
Attachment 226139 [details] pushed as 44f85b6 - fix early bailout when using launchd on Mac OS X