Thunderbird: archivos nsemail y nscopy dejados en /tmp

Thunderbird: archivos nsemail y nscopy dejados en /tmp

Estoy usando Thunderbird 68 en Debian.

Para cualquier correo electrónico que envío, Thunderbird crea archivos temporales en /tmp:

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

Estos archivos no solo no se eliminan después de enviar el correo electrónico, sino que, peor aún, permanecen allí después de cerrar Thunderbird.

He encontrado un informe de error tanto enubuntuyBugzilla, pero no hay solución.

Me parece una muy mala práctica que el archivo temporal no se elimine inmediatamente después de enviar el correo electrónico. Y es absolutamente indignante que ni siquiera al cerrar la aplicación se limpien sus archivos temporales.

Como solución alternativa, ¿puedo cambiar la ubicación donde se crean estos archivos temporales? Por ejemplo, usar ~/.cache/thunderbird/sería más apropiado.

Respuesta1

Este error se introdujo en v68.x y aún no se ha solucionado. Después de la investigación, aquí está la situación exacta:

Detalle del error:

Thunderbird se usa ~/tmp/ns*desde una versión anterior al enviar correo electrónico, pero también elimina esos archivos temporales justo después de usarlos, mientras tb todavía está abierto. En caso de error de codificación v68.xa, Thunderbird intenta eliminar esos archivos temporales en la ubicación /tmp/ns...en lugar de ~/tmp/ns...configurar $TMPDIRla variable para /tmpsolucionar el problema. (esperando una actualización ascendente)

Solución:

Usar el siguiente comando para ejecutar Thunderbird solucionará el problema (similar a la otra respuesta)

export TMPDIR=/tmp; thunderbird;

Respuesta2

Este error se introdujo en v68.x y aún no se ha solucionado. A la espera de que se solucione, aquí hay una solución alternativa. Tenga en cuenta que tmp/ns*se requieren archivos para que TB v68 funcione correctamente.

Solución alternativa I:

Como se sugiere en los comentarios, se puede usar un archivo temporal personalizado, luego puede aplicar diferentes restricciones a esa carpeta temporal específica; también tenga en cuenta que no es necesario aplicar ampliamente los cambios en las variables de entorno.

Edite el .desktoparchivo utilizado para ejecutar Thunderbird (generalmente en /usr/share/applications) cambiando la Exec=línea al siguiente comandooInicie Thunderbird con el comando dado:

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

Esto establecerá $TMPDIRuna $TMPvariable en una ubicación personalizada, luego se ejecutará Thunderbird y finalmente, cuando se cierre, rm -rf /home/my/new/tmpdir/ns*se eliminará el tmp sobrante.

Tenga en cuenta que env. Los cambios de variables solo afectarán a Thunderbird si se ejecuta desde un archivo basho .desktop. De lo contrario, si este comando se ejecuta directamente desde una terminal, los cambios $TMPafectarán a los comandos iniciados después de este comando.

Solución alternativa II:

Podemos usar un script para hacer el trabajo manualmente mientras se usa Thunderbird; Para hacerlo editaríamos el .desktoparchivo con lo siguiente:

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

donde cat watch-tb-script.shseria:

#!/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 seguirá ejecutándose mientras se abre Thunderbird, buscará /tmp/ns*archivos y eliminará cada archivo cada 10 segundos, luego el script se suspenderá 60 segundos antes de la siguiente verificación.

información relacionada