--- xfce4-session/main.c.orig 2016-01-02 15:02:42.000000000 +0100 +++ xfce4-session/main.c 2016-01-02 15:04:23.000000000 +0100 @@ -243,8 +243,12 @@ main (int argc, char **argv) XfsmShutdown *shutdown_helper; gboolean succeed = TRUE; +#if defined(__APPLE__) && defined(__MACH__) + /* dbus is being started by launchd */ +#else if (!xfsm_dbus_require_session (argc, argv)) return EXIT_SUCCESS; +#endif xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8"); --- xfce4-session/xfsm-manager.c.orig 2015-02-28 17:28:00.000000000 +0100 +++ xfce4-session/xfsm-manager.c 2016-01-06 14:19:51.000000000 +0100 @@ -765,6 +765,7 @@ #ifdef HAVE_OS_CYGWIN gchar *s; #endif + gchar *t; manager->compat_gnome = xfconf_channel_get_bool (channel, "/compat/LaunchGNOME", FALSE); manager->compat_kde = xfconf_channel_get_bool (channel, "/compat/LaunchKDE", FALSE); @@ -780,6 +780,11 @@ xfsm_manager_load (XfsmManager *manage *s = '#'; #endif + /* rename a slash (/) to a hash (#) for launchd */ + for (t = display_name; *t != '\0'; ++t) + if (*t == '/') + *t = '#'; + resource_name = g_strconcat ("sessions/xfce4-session-", display_name, NULL); manager->session_file = xfce_resource_save_location (XFCE_RESOURCE_CACHE, resource_name, TRUE); g_free (resource_name);