Kích hoạt pinentry của miniuffer với Emacs 25 và GnuPG 2.1 trên Ubuntu Xenial


14

Tôi đã phải thực hiện một số hoạt động lặn và săn bắn thông qua các tài liệu và diễn đàn, vì vậy tôi nghĩ rằng tôi cũng có thể làm một câu hỏi và trả lời ở đây cho những người khác:

Làm cách nào để kích hoạt nhắc mật khẩu GnuPG trong bộ thu nhỏ? Thay đổi Emacs 25.1 nói:

** pinentry.el cho phép nhắc mật khẩu GnuPG thông qua bộ thu nhỏ thay vì hộp thoại đồ họa, tùy thuộc vào việc lệnh gpg được gọi từ Emacs (tức là biến môi trường INSIDE_EMACS được đặt). Tính năng này yêu cầu các phiên bản mới hơn của GnuPG (2.1.5 trở lên) và Pinentry (0.9.5 trở lên). Để sử dụng tính năng này, hãy thêm "allow-emacs-pinentry" vào "~ / .gnupg / gpg-agent.conf" và tải lại cấu hình với "gpgconf --reload gpg-agent".

Làm điều đó, tôi chỉ nhận được một thông báo lỗi ngay bây giờ và thậm chí không có dấu nhắc mật khẩu đồ họa.

Đây là GNU Emacs 25.2.2 trên Lubfox (Ubuntu Xenial) với GnuPG 2.1.11.

Câu trả lời:


15

Bạn cũng phải

  1. Hoàn toàn kích hoạt chế độ loopback cho pinentry trong gpg-agent.conf của bạn.
  2. Cấu hình epa để sử dụng loopback cho pinentry.
  3. Bắt đầu máy chủ pinentry trong emacs,

1. Kích hoạt chế độ pinacry và loopback của Emacs cho tác nhân gpg

Đặt cái này trong ~ / .gnupg / gpg-agent.conf:

allow-emacs-pinentry
allow-loopback-pinentry

Sau đó báo cho gpg-agent tải cấu hình này bằng gpgconfshell:

gpgconf --reload gpg-agent

2. Cấu hình EasyPG Assistant để sử dụng loopback cho pinentry

Trong emacs, hoặc làm

M-x customize-group RET epa RET

Sau đó, đặt Chế độ Pinentry Epa Pinentry thành 'loopback' và áp dụng.

Hoặc đặt phần này trong tệp ~ / .emacs của bạn:

(setq epa-pinentry-mode 'loopback)

3. Khởi động máy chủ pinentry trong Emacs.

Trong Emacs, làm

M-x pinentry-start RET

Điều này khởi động máy chủ cho phiên hiện tại. Để bắt đầu nó trong mỗi phiên bản Emacs mới, hãy đặt nó vào .emacs của bạn:

(pinentry-start)

Tôi đã thực hiện phương pháp này và trong khi nó hoạt động bằng cách sử dụng pass từ bên trong emacs, tôi không còn có thể chạy pass từ dòng lệnh. Đây có phải là trường hợp cho bạn?
orion
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.