Thunderbird: файлы nsemail и nscopy остались в /tmp

Верхний и левый края изображения в формате JPEG всегда находятся на границе блока. Нижний и правый края могут быть, а могут и не быть.

Таким образом, у вас есть свободный выбор нижнего и правого краев обрезанного без потерь изображения, но верхний и левый края обрезанного изображения должны быть целым числом, кратным эффективному размеру блока исходного верхнего и левого краев.

Эффективный размер блока изображений JPEG различается. DCT работает с блоками 8x8, но некоторые JPEG-изображения содержат цветовую субдискретизацию -, что делает эффективный размер блока 8x16 или 16x16.

7
11.04.2020, 08:12
2 ответа

Эта ошибка была введена в v68.x и еще не исправлена, ожидая ее исправления, вот обходной путь, обратите внимание, что файлы tmp/ns*необходимы для правильной работы TB v68.

Обходной путь I:

Как было предложено в комментариях, можно использовать пользовательский временный файл, затем вы можете применять различные ограничения к этой конкретной временной папке, также обратите внимание, что изменения переменных среды не должны применяться широко.

Отредактируйте файл .desktop, используемый для запуска Thunderbird (, обычно под /usr/share/applications), изменив строку Exec=на следующую команду или запустите 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. изменения переменных повлияют только на Thunderbird, если он запускается из файла bashили .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 секунд перед следующей проверкой.

1
28.04.2021, 23:18

Эта ошибка появилась в версии 68.x и еще не исправлена. После расследования вот точная ситуация:

Сведения об ошибке:

Thunderbird использует ~/tmp/ns*с более ранней версии при отправке электронной почты, но он также удаляет эти временные файлы сразу после их использования, пока tb все еще открыт. В v68.x ошибка кодирования заставляет Thunderbird пытаться удалить эти временные файлы в местоположении /tmp/ns...вместо ~/tmp/ns..., поэтому установка переменной $TMPDIRв /tmpустраняет проблему. (ожидание обновления восходящего потока)

Решение:

Использование следующей команды для запуска Thunderbird решит проблему (, как и в другом ответе)

export TMPDIR=/tmp; thunderbird;
2
28.04.2021, 23:18

Теги

Похожие вопросы