Comment 3 for bug 1724790

Revision history for this message
Mihai Moldovan (ionic) wrote :

The problem lies within libxcomp3, which uses the environment variables NX_TEMP and TEMP to determine the temporary files directory (with a fallback to /tmp) and then tries to connect to $DETERMINED_TMP_DIR/.X11-unix/X$DISPLAY.

Note that TEMP has not been a typo.

Since pam_tmpdir.so sets TMP, TEMP, TMPDIR and TEMPDIR, by default nxproxy (which has its implementation in libxcomp3), will try to open /tmp/user/.../.X11-unix/X... on such systems and fail.

The easiest workaround is to remove the possibility to override the temporary directory via TEMP in libxcomp3's Loop.cpp (which we will probably also do as upstream, since the X11 UNIX socket path should not depend upon a configurable temp dir env variable - minus NX_TEMP, which can stay and is a good override value if users really need it, since it's not being set by pam_tmpdir or the like.)