Відповіді:
Я не впевнений, що аплет java насправді перегляне змінні середовища перед його запуском, але що ви можете це змінити / etc / profile та додати наступні рядки:
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
Щоб зробити його справжньою каталогом tmp (як у файлах, що минають, коли сеанс закінчується, вам потрібно буде відредагувати .bash_logout користувача, а також скелет .bash_logout (/etc/skel/.bash_logout), включити наступне :
if [ -O $TMPDIR && -d $TMPDIR ]; then
rm -rf $TMPDIR/*
fi
Частина виходу є небезпечною, тому що змінна не встановлюється, і ви ввійшли як root! Я б не додав цього до кореневого облікового запису чи будь-кого, хто є членом колесної групи! Дійте з власної обережності.
tmpwatch
команда не існує у BSD (наприклад, OSX) версії unix, для тих, хто переходить на портативність. У моїх ящиках CentOS це є. :)
Ви шукаєте файл:
/etc/environment
Ви повинні встановити змінну TEMP на зразок:
TEMP=/home/user/tmp
export TEMP=/home/user/tmp
У C я би використовував tmpfile () виклик для системи posix, яка б уникнула зіткнення. Тому я би шукав подібний дзвінок Java, перш ніж спробувати його реалізувати, якщо ви ще цього не зробили.
java.io.File.createTempFile
. Тепер із доданим захищеним RNG.
Java використовує властивість системи java.io.tmpdir
для налаштування тимчасового каталогу. Розумний JRE встановить це значуще значення на основі системи, якщо не вказано прямо.
export _JAVA_OPTIONS="-Djava.io.tmpdir=<local path>"
Наприклад:
export _JAVA_OPTIONS="-Djava.io.tmpdir=/home/user/tmp"