GNOME Bugzilla – Bug 764379
main: fix starting gnome session via startx
Last modified: 2016-03-31 08:15:00 UTC
The changes related to gsm_util_setenv during 3.19.x seems to have broken starting a gnome desktop the old fashioned way, eg. via startx. The gnome.session required components has OnlyShowIn=GNOME; which disqualifies them from being started unless XDG_CURRENT_DESKTOP is also set to GNOME (by the gio utility function used to look up info). Currently gnome-session already carries code to catch the case of XDG_CURRENT_DESKTOP being unset and set it to GNOME as a fallback. Unfortunately the changes to gsm_util_setenv seems to have made it only set the values in the (dbus activated) child environment, rather than the current environment which g_desktop_app_info_get_show_in is looking at. Make the fallback code set XDG_CURRENT_DESKTOP in both current and child environment fixes it.
Created attachment 325035 [details] [review] main: fix starting gnome session via startx
Review of attachment 325035 [details] [review]: This is fine, but to be strictly safe, we shouldn't be calling setenv after gio has initialized since it starts worker threads that potentially use gettext (which uses getenv, which isn't thread safe). Can you commit this with a tiny tweak to move it above initialize_gio ?
Hello Ray! (In reply to Ray Strode [halfline] from comment #2) [...] > Can you commit this with a tiny tweak to move it above initialize_gio ? Thanks for your quick review. I've updated the patch ackording to your suggestion, tested it and pushed to master and gnome-3-20 branches. Regards, Andreas Henriksson https://git.gnome.org/browse/gnome-session/commit/?id=890a797a2b6c26e752fa74a09d9521bea913c621