#35653: gconf 2.28.1_3 +quartz connections from client to gconfd fail ---------------------------------+------------------------------------------ Reporter: wagner.sim88@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Keywords: | Port: gconf ---------------------------------+------------------------------------------ When using the +quartz variant of gconf, the gconfd can't be reached by the clients. The error message is: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://projects.gnome.org/gconf/ for information. (Details - 1: Not running within active session) Apparently the following lines in gconf-internals.c at the function get_ior are causing the issue: {{{ /* if the bus isn't running and we don't want to start gconfd then * we don't want to autolaunch the bus either, so bail early. */ if (g_getenv ("DBUS_SESSION_BUS_ADDRESS") == NULL && (!start_if_not_found || g_getenv ("DISPLAY") == NULL)) { if (failure_log) g_string_append_printf (failure_log, _("Not running within active session")); return NULL; } }}} As DBUS_SESSION_BUS_ADDRESS is not set (because dbus is started via launchd and does set DBUS_LAUNCHD_SESSION_BUS_SOCKET but not DBUS_SESSION_BUS_ADDRESS) and no DISPLAY is available (as we are using quartz and not X11) the expression evaluates to true and the gconf client thinks, that dbus is not available and quits. I fixed this by testing, wether DBUS_LAUNCHD_SESSION_BUS_SOCKET is set {{{ g_getenv ("DBUS_SESSION_BUS_ADDRESS") == NULL && g_getenv ("DBUS_LAUNCHD_SESSION_BUS_SOCKET") == NULL && (!start_if_not_found || g_getenv ("DISPLAY") == NULL) }}} Please take a look into wether this is the correct way to fix this. Patch with the fix is attached. -- Ticket URL: <https://trac.macports.org/ticket/35653> MacPorts <http://www.macports.org/> Ports system for Mac OS