Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 229360 - xterm unsets $TMPDIR before executing command/shell
Summary: xterm unsets $TMPDIR before executing command/shell
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: xterm
Version: 8
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Miroslav Lichvar
QA Contact:
URL:
Whiteboard:
: 243069 296131 (view as bug list)
Depends On: 246063
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-02-20 16:35 UTC by James Ralston
Modified: 2008-01-24 21:56 UTC (History)
3 users (show)

Fixed In Version: 231-1.fc8
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-01-24 21:45:31 UTC


Attachments (Terms of Use)

Description James Ralston 2007-02-20 16:35:39 UTC
Starting with xterm-223-2.fc6.src.rpm, xterm unsets TMPDIR before invoking the
shell:

$ echo $TMPDIR
/tmp/username-j22290

$ export TMPDIR

$ echo $TMPDIR
/tmp/username-j22290

$ xterm -e 'echo TMPDIR=$TMPDIR; sleep 5'

The output that appears in the resulting xterm is:

TMPDIR=

If I compare the behavior of xterm to gnome-terminal, the only real difference
in the environment of the shell is TMPDIR.  (The environment variables
COLORTERM, PPID, and WINDOWID differ, but that's to be expected.)

I don't see any [un]setenv calls in xterm's code, so I suspect some other
library call that xterm is using is having a side-effect of unsetting TMPDIR.

Comment 1 James Ralston 2007-02-20 16:38:03 UTC
Actually, it doesn't matter whether xterm 

Comment 2 Miroslav Lichvar 2007-02-21 14:39:01 UTC
Dynamic linker is unsetting the variable since the xterm binary has setgid
utempter. Without the setgid xterm won't have a record in utmp.

But you can put the setting to .bashrc.

Comment 3 Miroslav Lichvar 2007-06-07 14:51:11 UTC
*** Bug 243069 has been marked as a duplicate of this bug. ***

Comment 4 Peter TB Brett 2007-06-07 16:02:41 UTC
This *is* a bug, and should be re-opened as such.

"Putting the setting to .bashrc" is a kludgy workaround, not a fix, especially 
for variables like LD_LIBRARY_PATH which a user might want set for the entire 
session.  In fact, all the documentation recommends *against* setting 
variables in .bashrc & /etc/bashrc.  

One better solution would be to use a wrapper script which restores the 
environment.  Is there any way to get records in utmp using e.g. SELinux 
context rather than group?

(Another workaround is to use module-init-tools and add "module update" 
to /etc/bashrc).

Comment 5 Miroslav Lichvar 2007-06-28 09:21:34 UTC
The problem was recently discussed at fedora-devel list. A request against
libutempter to drop the setgid requirement is filed at bug #246063.

Comment 6 Miroslav Lichvar 2007-09-19 12:11:44 UTC
*** Bug 296131 has been marked as a duplicate of this bug. ***

Comment 7 Fedora Update System 2008-01-11 22:15:30 UTC
xterm-231-1.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update xterm'

Comment 8 Fedora Update System 2008-01-11 22:29:10 UTC
xterm-231-1.fc7 has been pushed to the Fedora 7 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update xterm'

Comment 9 Fedora Update System 2008-01-24 21:45:29 UTC
xterm-231-1.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2008-01-24 21:56:56 UTC
xterm-231-1.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.