This code in xdg-utils-common.in seems weird:
elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome;
Why are we running dbus-send and then executing its output, after having sent it to /dev/null.
It seems to get the right result:
$ if `false > /dev/null`; then echo YES; fi
$ if `true > /dev/null`; then echo YES; fi