Обновить
Начиная с Ubuntu 16.04, плагин работает, как и ожидалось, и нет необходимости понижать версию, как предложено в принятом ответе. Вопрос был применим к Ubuntu 15.04 и, может быть , 15.10.
Оригинальный пост
Я использую Thunderbird + Enigmail в течение многих лет. В настоящее время я использую Thunderbird 38.5.1, Enigmail версии 1.9 (20160223-1641) и GPG 2.0.26 на своем рабочем ПК (Ubuntu 15.04 64-bit, с Gnome Shell).
Несколько дней назад, после 1 года работы, Enigmail неожиданно начинал жаловаться на следующую ошибку, когда я пытаюсь отправить подписанное или зашифрованное письмо:
GnuPG сообщил об ошибке в связи с gpg-agent (компонент GnuPG).
Это ошибка настройки или конфигурации системы, которая мешает правильной работе Enigmail и не может быть исправлена автоматически.
Мы настоятельно рекомендуем вам обратиться на наш веб-сайт поддержки по адресу https://enigmail.net/faq .
Я прошел страницу часто задаваемых вопросов и попробовал несколько вещей, но я еще не смог решить проблему.
Команда pinentry
работает нормально и показывает pinentry-qt4
окно (т.е. не текстовое):
pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT
Однако gpg-agent-connect
команда не выполняется:
gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
ERR 280 not implemented
Я попытался отключить связку ключей gnome, как это было предложено, но это тоже не работает. (Да, я перезапустил промежуточную систему, но я также хочу оставить брелок включенным как обычно.) Я также попытался экспортировать и повторно импортировать мои настройки Enigmail (то есть переименовать $HOME/.gnupg/
во что-то еще в это время), но это сделало тоже не работает.
Как ни странно, когда я запускаю gpg-agent
вручную из оболочки, а затем запускаю Thunderbird, кажется, что он связывается с gpg-agent
, как показано ниже:
gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh
gpg-agent[6469]: enabled debug flags: command cache assuan
gpg-agent[6469]: directory `/home/ray/.gnupg' created
gpg-agent[6469]: directory `/home/ray/.gnupg/private-keys-v1.d' created
gpg-agent[6469]: listening on socket `/home/ray/.gnupg/S.gpg-agent'
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 started
#
# Thunderbird started at this point
#
$ gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 started
gpg-agent[6470]: chan_7 -> OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 <- OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 -> GETINFO pid
gpg-agent[6470]: chan_7 <- GETINFO pid
gpg-agent[6470]: chan_7 -> D 6470
gpg-agent[6470]: chan_7 -> OK
gpg-agent[6470]: chan_6 <- D 6470
gpg-agent[6470]: chan_6 <- OK
gpg-agent[6470]: chan_6 -> BYE
gpg-agent[6470]: chan_7 <- BYE
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated
Однако я не вижу никаких выходных данных, если пытаюсь отправить подписанное и / или зашифрованное электронное письмо. Это отображается только при запуске Thunderbird.
Кроме того, я добавил /usr/bin/gpg-agent --daemon
команду в качестве запускаемого приложения на панели «Приложения запуска Gnome», но это не имело никакого значения.
Я думаю, что я применил регулярное обновление около 2/23, но проблема не стала видимой, пока система не была перезапущена 2/24 на этой неделе. К сожалению, я не помню, какие пакеты были обновлены, но их было не так много. (Я обычно держу систему обновленной.)
Обратите внимание, что это работало без проблем в течение лет или около того, примерно до 2 дней назад. (Я также использовал эту настройку на своем домашнем настольном ПК в течение 4 лет + без проблем, но мой рабочий ПК - ноутбук, и Ubuntu иногда работает там не так хорошо по неизвестным причинам ...)
Когда я пытаюсь открыть зашифрованные электронные письма, которые я получил (или сохраненные черновики, которые также зашифрованы), я получаю то же сообщение об ошибке gpg-agent
, но оно дешифрует сообщение электронной почты после запроса моей парольной фразы личного ключа.
В: Как я могу устранить эту ошибку связи, которая мешает мне отправлять подписанные / зашифрованные электронные письма?
Чтобы считать проблему исправленной, необходимо вернуться к нормальной работе без сообщений об ошибках и т. Д.
Заранее благодарим за любую помощь, которую вы можете оказать, чтобы помочь решить эту проблему.
Пока я писал этот пост, я заметил следующее сообщение от gpg-agent
демона в терминале:
# ...from previous output above
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated
#
# new/unexpected error message from agent
#
gpg-agent[6470]: can't connect my own socket: IPC connect call failed
gpg-agent[6470]: this process is useless - shutting down
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 stopped
Это обнаружилось неожиданно, поскольку я не просил Thunderbird сделать что-то особенно в то же время.
Я обновил с 15.04 -> 15.10 -> 16.04 и могу подтвердить, что Thunderbird 38.6 + Enigmail 1.9.1 работают нормально для меня. Вывод команд также должен быть таким:
➜ ~ pinentry <<EOT
heredoc> SETDESC Hello World
heredoc> CONFIRM
heredoc> EOT
OK Pleased to meet you
OK
OK
➜ ~ gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
D 2.1.11
OK
ERROR check_hijack
на самом деле испускается? FAQ кажется устаревшим, и я не уверен, где опция просмотра журнала отладки Enigmail больше.
Enigmail > Debugging Options > View Log
показывает WARNING: The GNOME keyring manager hijacked the GnuPG agent
. Так что я уверен, что GnomeKeyring связан. echo | gpg2 --sign
выявляет проблему на CLI. К сожалению, отключение gnome-keyring (как единственного обходного пути) для меня не вариант.