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.targetAfter 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.