On Mon, Aug 26, 2024 at 06:13:23PM CEST, Max Nikulin <maniku...@gmail.com> said: > On 26/08/2024 18:37, Erwan David wrote: > > > > On 23/08/2024 23:30, Max Nikulin wrote: > > > > > > > > > > It is started by /etc/X11/Xsession.d/90x11-common_ssh-agent > > > > > The question is why emacs.service is started before > > > > > /usr/lib/openssh/agent-launch or plasma copies SSH_AUTH_SOCKET value > > > > > to > > > > > systemd environment. > [...] > > Alas it does not work. > > Sounds like a race between code that copies environment and starting emacs. > Have you tried to disable ssh-agent in Xsession to start it from systemd? > Without it I am not sure that the following is really reliable: > > [Unit] > After=dbus.service ssh-agent.service > Wants=dbus.service ssh-agent.service > [Install] > WantedBy= > WantedBy=graphical-session-pre.target
After some investigations : plasma uses le /etc/X11/Xsession script, which sources /etc/X11/Xsession.d/* In the sourced snippets is /etc/X11/Xsession.d/90x11-common_ssh-agent The effect is that if /etc/Xsession.options sets use-ssh-agent, it starts plasma with the ssh-agent startplasmax11 command. Thus, systemd is given the SSH_AUTH_SOCK variable (and the sock is at a random place under /tmp) Then ssh-agent.service seems to do nothing since ssh-agent is already started Setting no-use-ssh-agent in /etc/X11/Xsession.option is a no go : it is also tested by ssh-agent.service Only solutions I see would imply modifying /etc/X11/Xsession.d/90x11-common_ssh-agent, but is it a configuration file ? -- Erwan David