ฉันชอบที่จะเซ็นสัญญาคอมไพล์ด้วยคีย์ PGP ของฉันดังนั้นฉันค่อนข้างตกใจเมื่อฉันไปที่git commit -S
แต่แทนที่จะแจ้งให้ใช้ข้อความรหัสผ่านคีย์ PGP ของฉัน git เพิ่งเริ่มแขวน ฉันไม่ได้ทำการเปลี่ยนแปลงการตั้งค่า GPG ของฉันในเวลาหลายเดือนและได้ทำข้อตกลงไว้มากมายตั้งแต่นั้นมาโดยไม่มีปัญหา นอกจากนี้เมื่อฉันพยายามดูกุญแจส่วนตัวด้วยgpg -K
gpg จะหยุดทำงาน อย่างไรก็ตามเมื่อฉันเรียกใช้gpg -k
เพื่อดูกุญแจสาธารณะของฉันมันจะส่งคืนรายการเหมือนปกติ หวังว่าใครบางคนจะมีความคิดในสิ่งที่ทำให้เกิดปัญหานี้และวิธีการแก้ไข
gpg-agent
man page ที่ตั้งค่า GPG_TTY ไว้ด้านบนไม่ใช่สิ่งที่ฉันแฮ็คเพื่อทำงานมันเป็นสิ่งจำเป็น หน้าคนบอกว่าคุณควรตั้งไว้ใน. bashrc ของคุณเหมือนที่ฉันทำและพูดว่าIt is important that this environment variable always reflects the output of the tty command.
- นั่นต้องเป็นที่ที่ฉันได้รับมา อีกสิ่งหนึ่งที่คุณต้องระวังคือโปรแกรม pinentry ที่ใช้โดย gpg-agent ฉันมีชุดการเหมืองแร่ (ใน~/.gnupg/gpg-agent.conf
) ไป/usr/bin/pinentry-curses
gpg-agent
หรือตั้งค่าที่คล้ายกันใน. bashrc (ฯลฯ ) ของระบบรีโมตและกำหนดค่าให้แสดงบน X display ของรีโมตหรือคล้ายกันหรือไม่? ผมเคยมีปัญหาที่คล้ายกันในอดีตที่ผ่านมา (เช่น SSH-ing จากขั้วในกล่องของฉัน MythTV กับเครื่องเดสก์ทอปของฉันการทำงานบางอย่างที่ต้องใช้จีพีจี. นอกจากนี้ยังมีปัญหาที่คล้ายกันด้วยssh-agent
) และฉันแรงเดรัจฉาน "คงที่" ด้วยexport GPG_TTY=$(tty)
ใน .bashrc เพื่อให้แน่ใจว่าพรอมต์อยู่บน tty ปัจจุบันเสมอ ฉันไม่สามารถแสดงพรอมต์ GUI passwd ได้