chiark / gitweb /
dot/bash_profile: Different strategy for finding gnome-keyring-daemon.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 27 Jun 2010 22:19:29 +0000 (23:19 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 27 Jun 2010 22:19:29 +0000 (23:19 +0100)
If its environment variables exist and its socket is in the right place,
or we have a session bus and the keyring daemon is listening on it,
then start it up.

dot/bash_profile

index 24427bd6f5bce8a190dae0759919c128f32bf98b..12f5f52a562f87da1c052a93a1a4ec556aa02560 100644 (file)
@@ -198,14 +198,16 @@ ulimit -S -c 0
 
 # --- Start an ssh authentication agent ---
 
-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)
+if { { [ "$GNOME_KEYRING_CONTROL" ] &&
+       [ -s "$GNOME_KEYRING_CONTROL" ]; } ||
+     { [ "$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 -c ssh 2>/dev/null)
 then
   eval "$stuff"
-  export GNOME_KEYRING_CONTROL SSH_AUTH_SOCK
+  export SSH_AUTH_SOCK
 fi
 
 eval `start-ssh-agent -b`