Aktualizacja
Począwszy od Ubuntu 16.04, wtyczka działa zgodnie z oczekiwaniami i nie ma potrzeby obniżania wersji zgodnie z sugestią w zaakceptowanej odpowiedzi. Pytanie dotyczyło Ubuntu 15.04 i być może 15.10.
Oryginalny post
Używam Thunderbird + Enigmail od lat. Obecnie używam Thunderbirda 38.5.1, Enigmail w wersji 1.9 (20160223-1641) i GPG 2.0.26 na moim komputerze stacjonarnym (Ubuntu 15.04 64-bit, z Gnome Shell).
Kilka dni temu, po ponad rocznej operacji, Enigmail nagle zaczął narzekać na następujący błąd przy każdej próbie wysłania podpisanego lub zaszyfrowanego e-maila:
GnuPG zgłosił błąd w komunikacji z gpg-agent (komponent GnuPG).
Jest to błąd konfiguracji systemu lub konfiguracji, który uniemożliwia prawidłowe działanie Enigmail i nie może zostać naprawiony automatycznie.
Zdecydowanie zalecamy zapoznanie się z naszą witryną pomocy technicznej pod adresem https://enigmail.net/faq .
Przejrzałem stronę z często zadawanymi pytaniami i wypróbowałem kilka rzeczy, ale nie byłem jeszcze w stanie rozwiązać problemu.
pinentry
Komenda działa poprawnie i pokazuje pinentry-qt4
okno (nie znaczy oparty na tekście):
pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT
Jednak gpg-agent-connect
polecenie nie powiedzie się:
gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
ERR 280 not implemented
Próbowałem wyłączyć gnome keyring zgodnie z sugestią, ale to też nie działa. (Tak, zrestartowałem system pomiędzy nimi, ale chcę też, aby klucz był włączony jak zwykle.) Próbowałem również eksportować i ponownie importować moje ustawienia Enigmail (tj. $HOME/.gnupg/
W międzyczasie zmieniłem nazwę na coś innego), ale tak się stało też nie działa.
Co dziwne, kiedy uruchamiam gpg-agent
ręcznie z powłoki, a następnie uruchamiam Thunderbirda, wydaje się, że komunikuje się z gpg-agent
, jak pokazano poniżej:
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
Jednak nie widzę żadnych danych wyjściowych, jeśli spróbuję wysłać podpisaną i / lub zaszyfrowaną wiadomość e-mail. Pokazuje się to tylko po uruchomieniu Thunderbirda.
Ponadto dodałem /usr/bin/gpg-agent --daemon
polecenie jako aplikację startową w panelu Gnome Startup Applications, ale nie miało to znaczenia.
Wydaje mi się, że zastosowałem regularną aktualizację około 2/23, ale problem nie stał się widoczny, dopóki system nie został zrestartowany 2/24 w tym tygodniu. Niestety nie pamiętam, które pakiety zostały zaktualizowane, ale nie było ich tak wiele. (Zwykle aktualizuję system).
Należy pamiętać, że działało to bez problemów od lat, do około 2 dni temu. (Używam tej konfiguracji w moim domowym komputerze stacjonarnym przez 4 lata + bez problemów, ale mój komputer stacjonarny jest laptopem, a Ubuntu czasami nie działa tak ładnie z nieznanych powodów ...)
Kiedy próbuję otworzyć zaszyfrowane wiadomości e-mail, które otrzymałem (lub zapisałem wersje robocze, które również są zaszyfrowane), gpg-agent
pojawia się ten sam komunikat o błędzie , ale odszyfrowuje wiadomość e-mail po zapytaniu o hasło do klucza prywatnego.
P: Jak mogę rozwiązać ten błąd komunikacji, który uniemożliwia mi wysyłanie podpisanych / zaszyfrowanych wiadomości e-mail?
Aby uznać problem za naprawiony, sytuacja musi wrócić do normalnej pracy bez komunikatów o błędach itp.
Z góry dziękuję za wszelką pomoc, która może pomóc rozwiązać ten problem.
Podczas pisania tego posta zauważyłem gpg-agent
w terminalu następującą wiadomość od demona:
# ...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
Okazało się to nieoczekiwanie, ponieważ w międzyczasie nie prosiłem Thunderbirda o zrobienie czegoś szczególnego.
Zaktualizowałem z 15.04 -> 15.10 -> 16.04 i mogę potwierdzić, że Thunderbird 38.6 + Enigmail 1.9.1 działa dla mnie normalnie. Dane wyjściowe poleceń są również takie, jakie powinny być:
➜ ~ 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
faktycznie jest emitowany? Często zadawane pytania pojawiają się nieaktualne i nie jestem pewien, gdzie jest już dostępna opcja wyświetlania dziennika debugowania Enigmail.
Enigmail > Debugging Options > View Log
ujawnia WARNING: The GNOME keyring manager hijacked the GnuPG agent
. Jestem więc pewien, że GnomeKeyring jest spokrewniony. echo | gpg2 --sign
ujawnia problem w interfejsie CLI. Niestety wyłączenie gnome-keyring (jako jedyne obejście) nie jest dla mnie opcją.