Włączanie pinentry minibuforów w Emacs 25 i GnuPG 2.1 na Ubuntu Xenial

14

Musiałem trochę nurkować i polować na dokumentacji i forach, więc pomyślałem, że równie dobrze mogę zadać pytania innym:

Jak włączyć w minibuforze monitowanie hasła GnuPG? Dziennik zmian Emacsa 25.1 mówi:

** pinentry.el pozwala na monitowanie hasła GnuPG przez minibufor zamiast graficznego okna dialogowego, w zależności od tego, czy polecenie gpg jest wywoływane z Emacsa (tzn. ustawiona jest zmienna środowiskowa INSIDE_EMACS). Ta funkcja wymaga nowszych wersji GnuPG (2.1.5 lub nowszy) i Pinentry (0.9.5 lub nowszy). Aby użyć tej funkcji, dodaj „allow-emacs-pinentry” do „~ / .gnupg / gpg-agent.conf” i ponownie załaduj konfigurację za pomocą „gpgconf --reload gpg-agent”.

W ten sposób otrzymuję teraz komunikat o błędzie, a nawet graficzną prośbę o hasło.

Jest to GNU Emacs 25.2.2 na Lubuntu (Ubuntu Xenial) z GnuPG 2.1.11.

Oliver Scholz
źródło

Odpowiedzi:

15

Ty też musisz

  1. Jawnie włącz tryb pętli zwrotnej dla pinentry w gpg-agent.conf.
  2. Skonfiguruj epa, aby używać pętli zwrotnej dla pinentry.
  3. Uruchom serwer pinentry w emacs,

1. Włącz tryb pinacherry i loopback Emacsa dla gpg-agent

Umieść to w swoim ~ / .gnupg / gpg-agent.conf:

allow-emacs-pinentry
allow-loopback-pinentry

Następnie powiedz gpg-agentowi, aby załadował tę konfigurację za gpgconfpomocą powłoki:

gpgconf --reload gpg-agent

2. Skonfiguruj EasyPG Assistant, aby używał sprzężenia zwrotnego dla pinentry

W emacs, albo zrobić

M-x customize-group RET epa RET

Następnie ustaw „Epa Pinentry Mode” na „loopback” i zastosuj.

Lub umieść to w swoim pliku ~ / .emacs:

(setq epa-pinentry-mode 'loopback)

3. Uruchom serwer pinentry w Emacsie.

W Emacs, zrób

M-x pinentry-start RET

Spowoduje to uruchomienie serwera dla bieżącej sesji. Aby uruchomić go w każdej nowej instancji Emacsa, umieść to w swoim .emacs:

(pinentry-start)
Oliver Scholz
źródło
Wdrożyłem to podejście i chociaż działa ono z użyciem pass z emacsa, nie mogę już uruchomić pass z linii poleceń. Czy tak jest w twoim przypadku?
orion