回答:
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としてログインしているためです!これをrootアカウントやwheelグループのメンバーである誰にも追加しません!ご自身の注意に進んでください。
tmpwatch
コマンドは、移植性を求める人のために、UnixのBSD(OSXなど)バージョンには存在しません。私のCentOSボックスにはそれがあります。:)
探しているファイルは次のとおりです。
/etc/environment
次のようにTEMP変数を設定する必要があります。
TEMP=/home/user/tmp
export TEMP=/home/user/tmp
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"