Оновлення
Станом на 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-розрядний, з Gnome Shell).
Кілька днів тому, після 1 року роботи, Enigmail раптом почав скаржитися на таку помилку, коли я намагався надіслати підписаний чи зашифрований електронний лист:
GnuPG повідомив про помилку в спілкуванні з gpg-агентом (компонентом 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 Startup Applications, але це не мало значення.
Я думаю, що я застосував регулярне оновлення близько 2/23, але проблема не стала видимою, поки система не була перезапущена 2/24 цього тижня. На жаль, я не пам'ятаю, які пакунки оновлювались, але їх було не так багато. (Я зазвичай постійно оновлюю систему.)
Зверніть увагу, що це питання працювало без жодних років або приблизно до 2 днів тому. (Я також використовував цю установку на домашньому настільному ПК для 4yrs + без проблем, але мій робочий ПК - це ноутбук, а 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
справді випромінюється? Поширені запитання видаються застарілими, і я не впевнений, де більше немає можливості переглянути журнал налагодження Enigmail.
Enigmail > Debugging Options > View Log
розкриває WARNING: The GNOME keyring manager hijacked the GnuPG agent
. Тож я майже впевнений, що GnomeKeyring пов'язаний. echo | gpg2 --sign
розкриває проблему на CLI. На жаль, відключення gnome-keyring (як єдине вирішення) не є для мене варіантом.