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 $TMPDIR
la variable para /tmp
solucionar 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 .desktop
archivo 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á $TMPDIR
una $TMP
variable 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 bash
o .desktop
. De lo contrario, si este comando se ejecuta directamente desde una terminal, los cambios $TMP
afectará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 .desktop
archivo con lo siguiente:
Exec=env TMPDIR=/tmp /usr/bin/thunderbird & /path/to/watch-tb-script.sh
donde cat watch-tb-script.sh
seria:
#!/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.