2017-01-19 1 views
5

Verwendung von Emacs for Mac OS X 25.1.1 und gnupg2 2.0.30 installiert über Homebrew auf macOS Sierra 10.12.2.Emacs epa und gnupg2: "keine brauchbare Konfiguration"

Emacs funktioniert einwandfrei und gnugp2 funktioniert auch gut auf der Kommandozeilenebene (E-Mail-Adressen entfernt):

[email protected] 528 ~/Dropbox/org $ echo "Hello World" >text.txt 
[email protected] 536 ~/Dropbox/org $ gpg -a -e -r [email protected] <text.txt >text.gpg 
[email protected] 537 ~/Dropbox/org $ gpg -d text.gpg 
You need a passphrase to unlock the secret key for 
2048-bit RSA key, ID 37B58834, created 2017-01-18 (main key ID 45C04EA8) 
gpg: encrypted with 2048-bit RSA key, ID 37B58834, created 2017-01-18 
Hello World 

Mein ./emacs/init.el sagt

; gpg 
(require 'epa-file) 
(epa-file-enable) 
(setq epg-gpg-program "/usr/local/bin/gpg2") 

und

[email protected] 505 ~/.emacs.d $ file /usr/local/bin/gpg2 
/usr/local/bin/gpg2: Mach-O 64-bit executable x86_64 

aber ich kann nicht scheinen, Emacs zu bekommen, um gpg2 zu benutzen; Meta-x epa-list-keys ergibt:

GPG error: "no usable configuration", OpenPGP 

Ich bin mit GPG und gpg2 hier aber der erste ist ein symbolischer Link zu dieser.

Was habe ich vermisst?

EDIT

Browsing Trog EasyPG die Quelle habe ich den Eindruck, dass es nur mit gpg2 2.1+ so deinstalliert ich die Homebrew-Version und installierte Version 2.1.17 von Sourceforge gearbeitet, aber das hat auch nicht geholfen.

Antwort

7

Also landete ich einige Quelldateien im Zusammenhang mit dieser Frage und schickte Daiki Ueno direkt. Er antwortete mir schnell custom-set-variables, sagen zu verwenden, anstatt setq:

(require 'epa-file) 
(custom-set-variables '(epg-gpg-program "/usr/local/bin/gpg2")) 
(epa-file-enable) 

Ich gehe davon aus, dies zu Emacs Menschen offensichtlich ist, aber ich Emacs kaum für irgendetwas anderes verwenden als org-Modus, so war es für mich nicht.

+1

als reguläres Emacs Benutzer dies nicht offensichtlich ist, und etwas, das als Arbeits aus der Box ausgeschrieben – kevzettler

0

gpg in nur innerhalb /usr/local/gnupg-2.2/bin. In Eamcs, (getenv "Path") und exec-path enthält nur /usr/bin, aber eine neue Version von MacOS beschränkt den Zugriff von /usr/bin.

Meine Lösung besteht darin, eine symbolische Verbindung zu erstellen und den Pfad in die Emacs-Umgebung und ihren Exec-Pfad einzufügen.

cd /usr/local/bin 
ln -s ../gnupg-2.2/bin/gpg2 gpg 

Innen .emacs

(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin")) 
(setq exec-path (append exec-path '("/usr/local/bin"))) 
Verwandte Themen