Package: x11-common
Version: 1:7.5+8
File: /etc/X11/Xsession.d/90x11-common_ssh-agent
/etc/X11/Xsession.d/90x11-common_ssh-agent nowadays saves and
restores TMPDIR:
STARTUP="$SSHAGENT $SSHAGENTARGS ${TMPDIR:+env TMPDIR=$TMPDIR} $STARTUP"
Please consider tunneling LD_LIBRARY_PATH in the same way.
Until then, I've added a similar hack in ~/.xsessionrc.
I spent half an hour searching for what deleted the variable
(and now more complaining about it...). It's documented in
/usr/share/doc/openssh-client/README.Debian.gz (since bug
#167974), but I didn't originally know ssh-agent was the cause,
so didn't look there. Perhaps this should be mentioned in
Xsession(5) as well?
Also, I think the problem could be fixed with two executables.
A not-setgid wrapper would create a pipe and fork. The child
process would write all of its environment variables to the pipe
and exit. The parent process would exec the setgid ssh-agent and
tell it the file descriptor of the pipe. The setgid ssh-agent
would lose some environment variables on startup but read them
all back from the pipe and eventually pass them to execle().
Attachment:
pgpxtkGeaxuod.pgp
Description: PGP signature