📱 Erkannter Endgerättyp ⛱️ Tag und Nacht. Verbraucht keinen oder einen 🍪. 🖼️ Hintergrund ändern. Verbraucht keinen oder einen 🍪.
🧬 0 Ihre DNS in den Krei.se-DNS-Servern, führt zum Bio-Labor 🍪 0 Anzahl Ihrer gespeicherten Kekse, führt zur Keksdose       
 

SSH-Agent als GUI

use-ssh-agent in /etc/X11/Xsession.options auskommentieren.

gnome-keyring-daemon systemd USER-unit ändern (systemctl cat gnome-keyring-daemon für Vorlage)

~/.config/systemd/user/gnome-keyring-daemon.service

[Unit]
Description=GNOME Keyring daemon

Requires=gnome-keyring-daemon.socket

[Service]
Type=simple
StandardError=journal
#ExecStart=/usr/bin/gnome-keyring-daemon --foreground --components="pkcs11,secrets" --control-directory=%t/keyring
ExecStart=/usr/bin/gnome-keyring-daemon --foreground --components="pkcs11,secrets,ssh" --control-directory=%t/keyring
Restart=on-failure

[Install]
Also=gnome-keyring-daemon.socket
WantedBy=graphical-session-pre.target

~/.bashrc

# Braucht man für gnome-keyring unter Wayland
dbus-update-activation-environment --systemd DISPLAY

Den SSH_AUTH_SOCK kann man überall so lassen, wenn er doch irgendwo manuell gesetzt werden muss: SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/gcr/ssh

Z.B. für mounts in systemd user scope:

~/.config/systemd/user/environment.d/gcr-ssh-agent.conf 

export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gcr/ssh

Systemd zeigt altes Env an

Wenn systemctl --user show-environment noch den alten run/openssh_agent anzeigt kann man das versuchen in .config/environment.d zu setzen, es ist aber einfacher den Socket für diesen Nutzer abzuschalten

systemctl --user disable ssh-agent.socket
systemctl --user stop ssh-agent.socket

Alternativ wer es versuchen will

user@linux:~/ cat .config/environment.d/99-ssh-agent.conf 
SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/gcr/ssh

Wird aber sicherlich wieder von ssh_agent überschrieben, daher lieber deaktivieren.

Wer den Socket nicht deaktivieren will, kann auch einen override erstellen:

user@linux:~/ systemctl --user edit ssh-agent.socket

dort über der Linie einfügen

[Socket]
ExecStartPost=
ExecStopPre=

Anschliessend hat man diese config:

[user@linux ~]$ systemctl --user cat ssh-agent.socket
# /usr/lib/systemd/user/ssh-agent.socket
[Unit]
Description=OpenSSH Agent socket
Documentation=man:ssh-agent(1)
Before=graphical-session-pre.target

[Socket]
SocketMode=0600
ListenStream=%t/openssh_agent
ExecStartPost=/usr/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/openssh_agent <-- überschreibt jedesmal systemctl --user show-environment

ExecStopPre=/usr/bin/systemctl --user unset-environment SSH_AUTH_SOCK

[Install]
WantedBy=sockets.target

# /home/user/.config/systemd/user/ssh-agent.socket.d/override.conf
[Socket]
ExecStartPost=
ExecStopPre=