Is there an environment variable to set the temporary directory on debian based systems?
I have a java applet that uses that environement variable and it's getting confused when launching two instances of the same applet.
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.Sign up to join this community
I am unsure if the java applet will actually look at the environment variables before it starts, but what you can do it edit /etc/profile and add the following lines:
if [[ -O /home/$USER/tmp && -d /home/$USER/tmp ]]; then TMPDIR=/home/$USER/tmp else # You may wish to remove this line, it is there in case # a user has put a file 'tmp' in there directory or a rm -rf /home/$USER/tmp 2> /dev/null mkdir -p /home/$USER/tmp TMPDIR=$(mktemp -d /home/$USER/tmp/XXXX) fi TMP=$TMPDIR TEMP=$TMPDIR export TMPDIR TMP TEMP
To make it a true tmp directory (as in the files go away when the session is ended, you'll want to edit the user's .bash_logout as well as the skeleton .bash_logout (/etc/skel/.bash_logout) to include the following:
if [ -O $TMPDIR && -d $TMPDIR ]; then rm -rf $TMPDIR/* fi
The logout portion is dangerous is the variable doesn't get set and your logged in as root! I wouldn't add this to the root account or anyone that is a member of the wheel group! Proceed at your own caution.
In C, I would use the tmpfile() call for a posix system, which would avoid the collision. So I would look for a similar Java call before trying to implement it myself, if you haven't already.
export _JAVA_OPTIONS="-Djava.io.tmpdir=<local path>"