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

Reply via email to