Answers:
我不确定java applet是否会在启动之前实际查看环境变量,但是您可以执行以下操作编辑/ 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
在C语言中,我将对posix系统使用tmpfile()调用,以避免冲突。因此,如果您尚未尝试类似的Java调用,请尝试自己实现。
java.io.File.createTempFile
。现在添加了安全的RNG。
export _JAVA_OPTIONS="-Djava.io.tmpdir=<local path>"
例如:
export _JAVA_OPTIONS="-Djava.io.tmpdir=/home/user/tmp"