Memperbarui
Pada Ubuntu 16.04, plug-in berfungsi seperti yang diharapkan dan tidak perlu menurunkan versi seperti yang disarankan dalam jawaban yang diterima. Pertanyaan itu berlaku untuk Ubuntu 15.04 dan, mungkin , 15.10.
Pos Asli
Saya telah menggunakan Thunderbird + Enigmail selama bertahun-tahun. Saat ini saya menggunakan Thunderbird 38.5.1, Enigmail versi 1.9 (20160223-1641), dan GPG 2.0.26 di PC pekerjaan saya (Ubuntu 15.04 64-bit, dengan Gnome Shell).
Beberapa hari yang lalu, setelah 1 tahun operasi, Enigmail tiba-tiba mulai mengeluh dengan kesalahan berikut setiap kali saya mencoba mengirim email yang ditandatangani atau dienkripsi:
GnuPG melaporkan kesalahan dalam komunikasi dengan gpg-agent (komponen GnuPG).
Ini adalah kesalahan pengaturan atau konfigurasi sistem yang mencegah Enigmail bekerja dengan benar dan tidak dapat diperbaiki secara otomatis.
Kami sangat menyarankan Anda berkonsultasi dengan situs web dukungan kami di https://enigmail.net/faq .
Saya telah melewati halaman FAQ dan mencoba beberapa hal, tetapi saya belum dapat menyelesaikan masalah.
The pinentry
perintah bekerja dengan baik, dan menunjukkan yang pinentry-qt4
window (yaitu tidak berbasis teks):
pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT
Namun, gpg-agent-connect
perintah gagal:
gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
ERR 280 not implemented
Saya sudah mencoba menonaktifkan gnome keyring seperti yang disarankan, tetapi tidak berhasil juga. (Ya, saya memang me-restart sistem di-antara, tetapi saya juga ingin tetap mengaktifkan keyring seperti biasa.) Saya juga mencoba mengekspor dan mengimpor kembali pengaturan Enigmail saya (yaitu mengubah nama $HOME/.gnupg/
menjadi sesuatu yang lain sementara itu), tetapi itu berhasil tidak bekerja juga.
Anehnya, ketika saya memulai gpg-agent
secara manual dari shell, dan kemudian mulai Thunderbird, sepertinya berkomunikasi dengan gpg-agent
, seperti yang ditunjukkan di bawah ini:
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
Saya tidak melihat output apa pun jika saya mencoba mengirim email yang ditandatangani dan / atau dienkripsi. Ini hanya muncul ketika Thunderbird dimulai.
Selain itu, saya menambahkan /usr/bin/gpg-agent --daemon
perintah sebagai aplikasi startup di panel Aplikasi Startup Gnome, tetapi tidak ada bedanya.
Saya pikir saya menerapkan pembaruan rutin sekitar 2/23, tetapi masalah tidak menjadi terlihat sampai sistem di-restart pada 2/24 minggu ini. Sayangnya, saya tidak ingat paket mana yang diperbarui, tetapi jumlahnya tidak banyak. (Saya biasanya menjaga sistem diperbarui.)
Harap dicatat bahwa ini telah bekerja tanpa masalah selama bertahun-tahun, hingga sekitar 2 hari yang lalu. (Saya juga telah menggunakan pengaturan ini di PC desktop rumah saya selama 4 tahun + tanpa masalah, tetapi PC pekerjaan saya adalah laptop, dan Ubuntu terkadang tidak berfungsi dengan baik di sana karena alasan yang tidak diketahui ...)
Ketika saya mencoba untuk membuka email terenkripsi yang saya terima (atau konsep tersimpan, yang juga dienkripsi), saya mendapatkan pesan kesalahan yang sama tentang gpg-agent
, tetapi tidak mendekripsi pesan email setelah meminta saya untuk frase pass kunci pribadi saya.
T: Bagaimana saya bisa mengatasi kesalahan komunikasi ini yang mencegah saya mengirim email yang ditandatangani / dienkripsi?
Agar masalah dapat diperbaiki, situasinya harus kembali berfungsi secara normal tanpa pesan kesalahan, dll.
Terima kasih sebelumnya atas bantuan yang dapat Anda berikan untuk membantu memperbaiki masalah ini.
Ketika saya sedang menulis posting ini, saya perhatikan pesan berikut dari gpg-agent
daemon di terminal:
# ...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
Ini muncul secara tak terduga, karena saya tidak meminta Thunderbird untuk melakukan sesuatu khususnya pada saat itu.
Saya memperbarui dari 15.04 -> 15.10 -> 16.04 dan dapat mengkonfirmasi bahwa Thunderbird 38.6 + Enigmail 1.9.1 bekerja secara normal untuk saya. Output dari perintah juga adalah apa yang seharusnya:
➜ ~ 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
benar-benar dipancarkan? FAQ muncul kedaluwarsa dan saya tidak yakin di mana opsi untuk melihat log debug Enigmail lagi.
Enigmail > Debugging Options > View Log
mengungkapkan WARNING: The GNOME keyring manager hijacked the GnuPG agent
. Jadi saya cukup yakin GnomeKeyring terkait. echo | gpg2 --sign
mengungkapkan masalah pada CLI. Sayangnya menonaktifkan gnome-keyring (sebagai satu-satunya solusi) bukanlah pilihan bagi saya.