Firefox에서 파일을 저장하지 않고 내부 플러그인(예: pdf 또는 doc 파일) 없이 열도록 선택하면 기본 동작은 파일이 /tmp 및 선택한 응용 프로그램(예: mupdf 또는 libreoffice)는 임시 파일을 입력으로 사용하여 열립니다. 임시 파일의 파일 이름은 동일한 이름의 파일이 /tmp에 이미 존재하지 않는 한 일반적으로 다운로드한 파일의 원래 이름입니다. 이 경우 확장자 앞에 파일 이름에 접미사(-1, -2, -3 등)가 추가됩니다. Firefox가 닫히면 (기본 동작이 변경되지 않는 한) /tmp에서 임시 파일이 삭제됩니다.
더 이상 필요하지 않을 때(즉, 이를 사용하는 애플리케이션이 사용을 중지할 때) 각각의 임시 파일을 삭제하는 것이 더 편리할 것이라고 생각합니다. 이것을 달성할 수 있는 방법이 있나요?
대안으로, 동일한 이름의 파일이 이미 존재하는 경우 /tmp의 기존 파일을 새 파일로 바꾸는 것이 더 나은 방법일까요? (즉, 파일 이름은 변경되지 않습니다.) 가능합니까?
답변1
임시 파일을 최대한 빨리 삭제하려면 다음과 같은 래퍼를 작성할 수 있습니다.
#!/bin/sh
the-application "$1"
rm -f "$1"
the-application
실제 실행 파일의 이름으로 바꾸고 Firefox에 애플리케이션 대신 이 래퍼를 사용하도록 요청하세요. 또는:
#!/bin/sh
the-application "$1"
case "$1" in
/tmp/*) rm -f "$1" ;;
esac
이 양식은 Firefox의 향후 버전이 "파일:" URL에 대한 새 파일을 생성하지 않는 경우(파일을 삭제하고 싶지 않은 경우) 더 안전할 것입니다.
일부 응용 프로그램은 즉시 반환되므로 응용 프로그램이 종료되기 전에 파일을 삭제하면 제대로 작동하지 않을 수 있습니다. 이 경우에는 할 수 있는 일이 많지 않습니다(적어도 신뢰할 수 있는 방식으로).
대안(기존 파일을 동일한 이름으로 대체)과 관련하여 이는 사용되는 다른 응용 프로그램과 충돌할 수 /tmp
있으며 보안에 영향을 미칠 수 있습니다. 일반적으로 말하면 이는 좋은 생각이 아닙니다.
답변2
나는 한동안 Firefox 매개변수를 가지고 놀았는데 정말 보기 흉해 보입니다. 하지만! 귀하의 예에는 간단한 해결책이 있습니다.
먼저, 임시 경로를 설정하고 브라우저를 실행하고 마지막으로 임시 경로에서 파일을 삭제하는 자신만의 스크립트를 만들어야 합니다. 이것은 다음과 같습니다
#!/bin/bash
tmp_folder='/tmp/firefox-tmp'
export TMP=$tmp_folder
export TEMP=$tmp_folder # (my Iceweasel needs setting both TMP and TEMP!)
mkdir $tmp_folder
firefox
rm -f $tmp_folder/*
이 파일을 어딘가에 저장하세요(예: 데스크탑에 /home/<user>/Desktop/firefox.sh
실행 권한을 부여하세요).
chmod +x full_path_to_file_on_desktop
이제 스크립트를 실행하면 /tmp/firefox-tmp
필요에 따라 모든 임시 파일을 이 폴더로 리디렉션하고 브라우저를 닫으면 폴더 내용이 삭제됩니다.
팁: 현재 직면하고 있는 기본 동작을 변경하기 위한 설정(about:config)을 Firefox에서 찾지 못했으므로 제 솔루션을 사용해 주세요. 실제로 작동한다 :)
사용자 프로필과 캐시 프로필을 사용할 수도 있지만 이는 또 다른 주제입니다...yyy...주제 ;)