Câu trả lời:
Tôi không chắc chắn nếu applet java thực sự sẽ xem xét các biến môi trường trước khi nó bắt đầu, nhưng những gì bạn có thể làm nó chỉnh sửa / etc / profile và thêm các dòng sau:
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
Để biến nó thành một thư mục tmp thực sự (như trong các tệp sẽ biến mất khi phiên kết thúc, bạn sẽ muốn chỉnh sửa .bash_logout cũng như bộ xương .bash_logout (/etc/skel/.bash_logout) để bao gồm các mục sau :
if [ -O $TMPDIR && -d $TMPDIR ]; then
rm -rf $TMPDIR/*
fi
Phần đăng xuất rất nguy hiểm là biến không được đặt và đăng nhập của bạn với quyền root! Tôi sẽ không thêm tài khoản này vào tài khoản root hoặc bất kỳ ai là thành viên của nhóm bánh xe! Tiến hành thận trọng của riêng bạn.
tmpwatch
lệnh không tồn tại trên phiên bản unix của BSD (ví dụ OSX), cho bất kỳ ai đi tìm tính di động. Hộp CentOS của tôi có nó mặc dù. :)
Các tập tin bạn đang tìm kiếm là:
/etc/environment
Bạn phải đặt biến TEMP như:
TEMP=/home/user/tmp
export TEMP=/home/user/tmp
Trong C, tôi sẽ sử dụng lệnh gọi tmpfile () cho một hệ thống posix, để tránh xung đột. Vì vậy, tôi sẽ tìm kiếm một cuộc gọi Java tương tự trước khi cố gắng tự thực hiện nó, nếu bạn chưa có.
java.io.File.createTempFile
. Bây giờ với RNG an toàn bổ sung.
Java sử dụng thuộc tính hệ thống java.io.tmpdir
để cấu hình thư mục tạm thời. JRE hợp lý sẽ đặt giá trị đó thành giá trị hợp lý dựa trên hệ thống nếu không được chỉ định rõ ràng.
export _JAVA_OPTIONS="-Djava.io.tmpdir=<local path>"
Ví dụ:
export _JAVA_OPTIONS="-Djava.io.tmpdir=/home/user/tmp"