On 29/08/2024 12:56, Erwan David wrote:
On Mon, Aug 26, 2024 at 06:13:23PM CEST, Max Nikulin said:
On 23/08/2024 23:30, Max Nikulin wrote:
It is started by /etc/X11/Xsession.d/90x11-common_ssh-agent
[Unit]
After=dbus.service ssh-agent.service
Wants=dbus.service ssh-agent.service
[Install]
WantedBy=
WantedBy=graphical-session-pre.target
After some investigations :
[...]
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)
I have had a look into startplasma sources. It pushes environment to
systemd *before* initiating plasma-workspace-x11.target. (My additional
interest was the following: If some variable is set in both ~/.profile
and environment.d, what value wins?)
Setting no-use-ssh-agent in /etc/X11/Xsession.option is a no go : it
is also tested by ssh-agent.service
It seems /usr/lib/openssh/agent-launch checks /etc/X11/Xsession.options,
but not /etc/X11/Xsession.options.d. However it would be a rather
fragile hack.
Only solutions I see would imply modifying
/etc/X11/Xsession.d/90x11-common_ssh-agent, but is it a configuration
file ?
Ask "dpkg -s PKG" or dpkg-query with some options.
Do you really need emacs as a part of default.target and
graphical-session.target is too late for you? The override for
emacs.service, I posted earlier, should work otherwise.
As an alternative I would consider configuring either ssh-agent.service
or a dedicated unit to execute in addition 'emacsclient --eval "(putenv
...)"'. See emacsclient-mailto.desktop how escape argument for Emacs-28.