การเปิดใช้งานตัวส่งสัญญาณ minibuffer ด้วย Emacs 25 และ GnuPG 2.1 บน Ubuntu Xenial


14

ฉันต้องดำน้ำและตามล่าหาเอกสารและฟอรั่มค่อนข้างมากดังนั้นฉันจึงคิดว่าฉันอาจถามคำถามกับผู้อื่นได้ที่นี่:

ฉันจะเปิดใช้งานการแจ้งเตือนข้อความรหัสผ่าน GnuPG ใน minibuffer ได้อย่างไร Emacs 25.1 changelog พูดว่า:

** pinentry.el อนุญาตให้ใช้ข้อความรหัสผ่าน GnuPG ผ่านทาง minibuffer แทนการโต้ตอบแบบกราฟิกขึ้นอยู่กับว่าคำสั่ง gpg ถูกเรียกจาก Emacs (เช่นตั้งค่าตัวแปรสภาพแวดล้อม INSIDE_EMACS) คุณลักษณะนี้ต้องการ GnuPG เวอร์ชันใหม่กว่า (2.1.5 ขึ้นไป) และ Pinentry (0.9.5 หรือใหม่กว่า) หากต้องการใช้คุณสมบัตินี้ให้เพิ่ม "allow-emacs-pinentry" เป็น "~ / .gnupg / gpg-agent.conf" และโหลดการกำหนดค่าใหม่ด้วย "gpgconf - reload gpg-agent"

ทำอย่างนั้นฉันเพิ่งได้รับข้อความข้อผิดพลาดตอนนี้และไม่ได้แจ้งให้รหัสผ่านแบบกราฟิก

นี่คือ GNU Emacs 25.2.2 บน Lubuntu (Ubuntu Xenial) พร้อม GnuPG 2.1.11

คำตอบ:


15

คุณยังต้อง

  1. เปิดใช้งานโหมดลูปแบ็คอย่างชัดเจนสำหรับ pinentry ใน gpg-agent.conf ของคุณ
  2. กำหนดค่า epa เพื่อใช้ loopback สำหรับ pinentry
  3. เริ่มเซิร์ฟเวอร์ pinentry ใน emacs

1. เปิดใช้งานตัวช่วยจำ Emacs และโหมดวนรอบสำหรับ gpg-agent

ใส่สิ่งนี้ใน ~ / .gnupg / gpg-agent.conf ของคุณ:

allow-emacs-pinentry
allow-loopback-pinentry

จากนั้นแจ้งให้ gpg-agent โหลดการกำหนดค่านี้ด้วยgpgconfในเชลล์:

gpgconf --reload gpg-agent

2. กำหนดค่าโปรแกรม EasyPG Assistant เพื่อใช้วนรอบสำหรับพินทรี

ใน emacs ก็ทำได้เช่นกัน

M-x customize-group RET epa RET

จากนั้นตั้งค่า“ Epa Pinentry Mode” เป็น 'วนรอบ' และใช้

หรือใส่นี่ในไฟล์ ~ / .emacs ของคุณ:

(setq epa-pinentry-mode 'loopback)

3. เริ่มเซิร์ฟเวอร์ pinentry ใน Emacs

ใน Emacs ให้ทำ

M-x pinentry-start RET

สิ่งนี้จะเริ่มต้นเซิร์ฟเวอร์สำหรับเซสชันปัจจุบัน ในการเริ่มต้นในอินสแตนซ์ Emacs ใหม่แต่ละอัน

(pinentry-start)

ฉันใช้วิธีการนี้และในขณะที่ใช้งาน pass จากภายใน emacs ฉันไม่สามารถเรียกใช้ pass จาก command line ได้อีกต่อไป เป็นกรณีนี้หรือไม่?
orion
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.