Comment 8 for bug 377467

Revision history for this message
Mikel Ward (mikelward) wrote :

This is broken even worse in XFCE.

GNOME Keyring is obviously being started via GDM in --login mode, but then the --start part is not being done by default due to /etc/xdg/autostart/gnome-keyring-daemon.desktop having OnlyShowIn=GNOME.

After I remove that line, I can see it's printing
    GNOME_KEYRING_SOCKET=/tmp/keyring-7zOY9J/socket
    SSH_AUTH_SOCK=/tmp/keyring-7zOY9J/socket.ssh

in my ~/.xsession-errors, but $SSH_AUTH_SOCK is set to something like /tmp/ssh-qHvvfg4613/agent.4613, I think due to /etc/xdg/xfce4/xinitrc:115
    if test -z "$SSH_AGENT_PID" -a "$sshagent" -a "x$sshagent" != "xno"; then

which should be testing SSH_AUTH_SOCK, not SSH_AGENT_PID, and perhaps because GNOME Keyring Agent can't modify XFCE's environment in the way it can modify GNOME environment?

The workaround I've found for that is to put:
    eval $(gnome-keyring-daemon --start)
    export SSH_AUTH_SOCK

in my ~/.profile inside
    if test -n "$GNOME_KEYRING_PID"

This is truely nasty stuff.