Estou usando o Thunderbird 68 no Debian.
Para qualquer email que eu enviar, o Thunderbird cria arquivos temporários em/tmp:
/tmp/nsmail.tmp
/tmp/nsmail-1.tmp
/tmp/nsmail-2.tmp
/tmp/nscopy.tmp
/tmp/nscopy-1.tmp
Esses arquivos não apenas não são excluídos após o envio do e-mail, mas pior ainda, eles permanecem lá após o Thunderbird ser fechado.
Eu encontrei um relatório de bug emUbuntueBugzila, mas nenhuma solução.
Acho uma prática muito ruim que o arquivo temporário não seja excluído imediatamente após o envio do email. E é absolutamente ultrajante que mesmo a saída do aplicativo não limpe seus arquivos temporários.
Como solução alternativa, posso alterar o local onde esses arquivos temporários são criados? Por exemplo, usar ~/.cache/thunderbird/
seria mais apropriado.
Responder1
Este bug foi introduzido na v68.x e ainda não foi corrigido. Após investigação, aqui está a situação exata:
Detalhe do bug:
O Thunderbird usa ~/tmp/ns*
desde a versão anterior ao enviar e-mail, mas também exclui esses arquivos temporários logo após usá-los, enquanto ainda está aberto. No erro de codificação v68.xa, o Thunderbird tenta excluir esses arquivos temporários no local, /tmp/ns...
em vez de ~/tmp/ns...
definir a $TMPDIR
variável para /tmp
corrigir o problema. (aguardando uma atualização upstream)
Solução:
Usar o seguinte comando para executar o Thunderbird corrigirá o problema (semelhante à outra resposta)
export TMPDIR=/tmp; thunderbird;
Responder2
Este bug foi introduzido na v68.xe ainda não foi corrigido, aguardar que isso seja corrigido aqui é uma solução alternativa, observe que tmp/ns*
os arquivos são necessários para que o TB v68 funcione corretamente.
Solução alternativa I:
Conforme sugerido nos comentários, um arquivo temporário personalizado pode ser usado; você pode então aplicar diferentes restrições a essa pasta temporária específica. Observe também que as alterações nas variáveis de ambiente não precisam ser aplicadas amplamente.
Edite o .desktop
arquivo usado para executar o Thunderbird (geralmente em /usr/share/applications
) alterando a Exec=
linha para o seguinte comandoouinicie o Thunderbird com o comando fornecido:
export TMPDIR=/home/my/new/tmpdir; export TMP=$TMPDIR; thunderbird; rm -rf /home/my/new/tmpdir/ns*
Isso irá definir $TMPDIR
e $TMP
variar para um local personalizado, então o Thunderbird será executado e, finalmente, quando for fechado, rm -rf /home/my/new/tmpdir/ns*
excluirá o restante do tmp.
Observe que env. alterações de variáveis afetarão apenas o Thunderbird se ele for executado a partir de um arquivo bash
ou .desktop
. Caso contrário, se este comando for executado diretamente de um terminal, as alterações $TMP
afetarão os comandos iniciados após este comando.
Solução alternativa II:
Podemos usar um script para fazer o trabalho manualmente enquanto o Thunderbird é usado; Para fazer isso, editaríamos o .desktop
arquivo com o seguinte:
Exec=env TMPDIR=/tmp /usr/bin/thunderbird & /path/to/watch-tb-script.sh
Onde cat watch-tb-script.sh
estaria:
#!/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;
Este script continuará em execução enquanto o Thunderbird for aberto, verificará os /tmp/ns*
arquivos e removerá cada arquivo a cada 10 segundos, então o script irá dormir 60 segundos antes da próxima verificação.