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.x에 도입되었으며 아직 수정되지 않았습니다. 해결 방법은 여기에서 수정되기를 기다리고 있습니다. tmp/ns*TB v68이 올바르게 작동하려면 파일이 필요합니다.

해결 방법 I:

설명에서 제안한 대로 사용자 지정 임시 파일을 사용할 수 있으며 특정 임시 폴더에 다른 제한 사항을 적용할 수 있으며 환경 변수 변경 사항을 광범위하게 적용할 필요도 없습니다.

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

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

이것은 사용자 정의 위치로 설정 $TMPDIR되고 $TMP변수화되며 Thunderbird가 실행되고 마지막으로 종료되면 rm -rf /home/my/new/tmpdir/ns*남은 tmp가 삭제됩니다.

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

해결 방법 II:

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초 동안 절전 모드로 전환됩니다.

관련 정보