Hi Richard and all, Richard Sent <rich...@freakingpenguin.com> skribis:
> However, when fish is in charge of executing on-first-login, stdout and > stderr for the user shepherd get directed to a pipe instead of > /dev/null. > > fish fds, both stdout and stderr point to a pipe: > > $ ls -l /proc/<HERD_PID>/fd) > lr-x------ 1 richard users 64 2023-11-16 14:47 0 -> > /dev/null > l-wx------ 1 richard users 64 2023-11-16 14:47 1 -> > pipe:[41039] > l-wx------ 1 richard users 64 2023-11-16 14:47 2 -> > pipe:[41039] > l-wx------ 1 richard users 64 2023-11-16 14:47 6 -> > /home/richard/.local/state/log/shepherd.log > // ... > > > fish login shell strace of herd: > > 21:46:43 write(1, "Spawning systemd-style service > /gnu/store/2zgdxhbnkz8fgsb1l4xydm3nbvj66mih-gnupg-2.2.39/bin/gpg-agent.\n", > 103) = -1 EPIPE (Broken pipe) (I assume this is the strace of shepherd, not herd.) Maybe we should unconditionally run shepherd with stdout/stderr redirected to /dev/null? That would sidestep the problem and it’s probably a good idea anyway. WDYT? Ludo’.