Thunderbird: nsemail 및 nscopy 파일이 /tmp에 남아 있습니다.

Thunderbird: nsemail 및 nscopy 파일이 /tmp에 남아 있습니다.

저는 데비안에서 Thunderbird 68을 사용하고 있습니다.

내가 보내는 모든 이메일에 대해 Thunderbird는 /tmp에 임시 파일을 생성합니다.

/tmp/nsmail.tmp
/tmp/nsmail-1.tmp
/tmp/nsmail-2.tmp
/tmp/nscopy.tmp
/tmp/nscopy-1.tmp

이러한 파일은 이메일을 보낸 후에도 삭제되지 않을 뿐만 아니라 Thunderbird를 닫은 후에도 그대로 남아 있습니다.

버그 보고서를 찾았습니다우분투그리고부기라, 그러나 해결책이 없습니다.

이메일을 보낸 후 즉시 임시 파일을 삭제하지 않는 것은 매우 나쁜 습관이라는 것을 알았습니다. 그리고 정말 터무니없는 점은 앱이 종료된 후에도 임시 파일을 정리하지 않는다는 것입니다.

해결 방법으로 이러한 임시 파일이 생성되는 위치를 변경할 수 있습니까? 예를 들어 ~/.cache/thunderbird/사용하는 것이 더 적절할 것입니다.

답변1

이 버그는 v68.x에 도입되었으며 수정되지 않았습니다. 조사 결과 구체적인 상황은 다음과 같다.

오류 정보:

이전 버전의 Thunderbird는 이메일을 보낼 때 이를 사용 ~/tmp/ns*하지만, TB가 아직 열려 있는 동안에는 사용 후 즉시 임시 파일을 삭제합니다. v68.xa 인코딩 오류가 발생하면 Thunderbird는 문제를 해결하기 위해 변수를 설정하는 /tmp/ns...대신 해당 위치에 있는 임시 파일을 삭제하려고 합니다 . (업스트림 업데이트를 기다리는 중)~/tmp/ns...$TMPDIR/tmp

해결책:

다음 명령으로 Thunderbird를 실행하면 문제가 해결됩니다(다른 답변과 유사).

export TMPDIR=/tmp; thunderbird;

답변2

이 버그는 v68에서 도입되었습니다 tmp/ns*.

해결 방법 1:

의견에서 제안한 대로 사용자 정의 임시 파일을 사용한 다음 해당 특정 임시 폴더에 다양한 제한 사항을 적용할 수 있으며, 환경 변수 변경 사항을 광범위하게 적용할 필요도 없습니다.

다음 줄을 변경하여 Thunderbird(보통 아래 ) .desktop를 실행하는 데 사용되는 파일을 편집합니다./usr/share/applicationsExec=또는주어진 명령을 사용하여 Thunderbird를 시작하십시오:

export TMPDIR=/home/my/new/tmpdir; export TMP=$TMPDIR; thunderbird; rm -rf /home/my/new/tmpdir/ns*

그러면 사용자 정의 위치로 설정 $TMPDIR및 변수가 설정되고 Thunderbird가 실행되며 마지막으로 종료 시 나머지 tmp가 삭제됩니다.$TMPrm -rf /home/my/new/tmpdir/ns*

환경을 참고하세요. 변수 변경은 또는 파일 에서 실행하는 경우 bash에만 Thunderbird에 영향을 미칩니다 .desktop. 그렇지 않고 터미널에서 직접 이 명령을 실행하면 변경 사항이 $TMP이 명령 이후에 시작된 명령에 영향을 미칩니다.

해결 방법 2:

Thunderbird를 사용할 때 스크립트를 사용하여 이 작업을 수동으로 수행할 수 있으며 .desktop다음 내용으로 파일을 편집합니다.

Exec=env TMPDIR=/tmp /usr/bin/thunderbird & /path/to/watch-tb-script.sh

어디에 cat watch-tb-script.sh있을까요:

#!/bin/sh

[[ $(ps all -e | grep thunderbird | grep -v color | grep -v grep) ]]
while [[ "$?" == 0 ]] 
do
  for i in /tmp/ns*; do 
    if [ -f "$i" ]; then 
      rm -rf $i;
      sleep 10s; 
    fi;
  done;
  sleep 60s;
  [[ $(ps all -e | grep thunderbird | grep -v color | grep -v grep) ]]
done;

Thunderbird가 열려 있는 동안 스크립트는 계속 실행되어 /tmp/ns*10초마다 파일을 확인하고 각 파일을 삭제합니다. 그런 다음 스크립트는 다음 확인 전에 60초 동안 절전 모드로 전환됩니다.

관련 정보