I am using KDE on Arch Linux and I am trying to run gpg-agent in ssh-agent emulation mode as described here.
I created env file ~/.config/environment.d/80_gpg_agent.conf
for systemd-environmentd-generator:
PINENTRY=pinentry-qt
SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh
I do not set SSH_AGENT_PID
because it is not accepted by mentioned generator but it shouldn't be set anyway (and it isn't).
If I start my system and login into TTY I am getting correct value for SSH_AUTH_SOCK
(from systemctl --user show-environment
):
Then, if I don't login into KDE session I have correct value for SSH_AUTH_SOCK:
SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh
After I log into KDE session (doesn't matter if it is Wayland or X11) I see that this value of overwritten by something:
SSH_AUTH_SOCK=/run/user/1000/ssh-agent.socket
This value looks like standard value usually set for ssh-agent but I don't have unit files for ssh-agent autostart.
So far I checked the following:
- there is no code that sets
SSH_AUTH_SOCK
in.bashrc
,.profile
,/etc/bash.bashrc
,/etc/profile
or/etc/profile.d/*
- there are no env variables in
/etc/environment
or~/.config/environment.d/*
besides one that I set for gpg-agent - I use keepassxc that has embedded ssh-agent but I didn't add it to autostart and its ssh-agent disabled
So, question is, where is it set and how do I stop this from overriding my env?