Respuestas:
No estoy seguro de si el applet de Java realmente mirará las variables de entorno antes de que comience, pero lo que puede hacer es editar / etc / profile y agregar las siguientes líneas:
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
Para convertirlo en un verdadero directorio tmp (como en los archivos desaparecen cuando finaliza la sesión, querrá editar el .bash_logout del usuario así como el esqueleto .bash_logout (/etc/skel/.bash_logout) para incluir lo siguiente :
if [ -O $TMPDIR && -d $TMPDIR ]; then
rm -rf $TMPDIR/*
fi
¡La parte de cierre de sesión es peligrosa si la variable no se configura y ha iniciado sesión como root! ¡No agregaría esto a la cuenta raíz ni a nadie que sea miembro del grupo de la rueda! Proceda bajo su propia precaución.
tmpwatch
comando no existe en la versión BSD (p. Ej., OSX) de Unix, para cualquiera que vaya por la portabilidad. Sin embargo, mis cajas CentOS lo tienen. :)
El archivo que está buscando es:
/etc/environment
Debe configurar la variable TEMP como:
TEMP=/home/user/tmp
export TEMP=/home/user/tmp
Si desea /home/user/tmp
que lo limpien al reiniciar, le sugiero que agregue un @reboot
trabajo al personal del usuario crontab
.
En C, usaría la llamada tmpfile () para un sistema posix, lo que evitaría la colisión. Por lo tanto, buscaría una llamada Java similar antes de intentar implementarla yo mismo, si aún no lo ha hecho.
java.io.File.createTempFile
. Ahora con RNG seguro agregado.
Java usa la propiedad del sistema java.io.tmpdir
para configurar el directorio temporal. Un JRE razonable establecerá eso en un valor razonable basado en el sistema si no se especifica explícitamente.
export _JAVA_OPTIONS="-Djava.io.tmpdir=<local path>"
P.ej:
export _JAVA_OPTIONS="-Djava.io.tmpdir=/home/user/tmp"