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 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 KEYRING_ SOCKET= /tmp/keyring- 7zOY9J/ socket AUTH_SOCK= /tmp/keyring- 7zOY9J/ socket. ssh
GNOME_
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: keyring- daemon --start)
eval $(gnome-
export SSH_AUTH_SOCK
in my ~/.profile inside KEYRING_ PID"
if test -n "$GNOME_
This is truely nasty stuff.