diff --git a/emacs.changes b/emacs.changes index bdefd25..5397b64 100644 --- a/emacs.changes +++ b/emacs.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Apr 25 14:51:25 UTC 2017 - werner@suse.de + +- Fix emacs.sh wrapper script to check modern dbus session + ------------------------------------------------------------------- Tue Apr 25 10:43:33 UTC 2017 - werner@suse.de diff --git a/emacs.sh b/emacs.sh index 5517cd7..1cb6497 100644 --- a/emacs.sh +++ b/emacs.sh @@ -78,7 +78,12 @@ if test -n "$dbusdaemon" ; then unset DBUS_SESSION_BUS_ADDRESS break done - test -n "$dpid" || unset DBUS_SESSION_BUS_ADDRESS + if test -z "$dpid" ; then + case ":$DBUS_SESSION_BUS_ADDRESS" in + *:path=/run/user/${UID}/bus*) ;; + *) unset DBUS_SESSION_BUS_ADDRESS + esac + fi fi # Find a valid dbus-daemon if active if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then @@ -90,6 +95,10 @@ if test -n "$dbusdaemon" ; then DBUS_SESSION_BUS_ADDRESS=${dadd#*=} export DBUS_SESSION_BUS_ADDRESS done + if test -z "$DBUS_SESSION_BUS_ADDRESS" -a -S /run/user/${UID}/bus ; then + DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${UID}/bus + export DBUS_SESSION_BUS_ADDRESS + fi fi unset mid guid suid dadd # Oops ... no dbus-daemon then launch a new session