-if stuff=$(gnome-keyring-daemon -s 2>/dev/null); then
- eval "$stuff"; export GNOME_KEYRING_CONTROL SSH_AUTH_SOCK
+if [ "$DBUS_SESSION_BUS_ADDRESS" ] &&
+ dbus-send --session --print-reply --dest=org.freedesktop.DBus \
+ / org.freedesktop.DBus.GetNameOwner string:org.gnome.keyring \
+ >/dev/null 2>/dev/null &&
+ stuff=$(gnome-keyring-daemon -s 2>/dev/null)
+then
+ eval "$stuff"
+ export GNOME_KEYRING_CONTROL SSH_AUTH_SOCK