เป็นไปได้หรือไม่ที่จะกำหนดค่าgpgในวิธีที่ฉันป้อนข้อความรหัสผ่านเพียงครั้งเดียวและจะใช้ได้ทั้งเซสชัน (ฉันกำลังใช้Ubuntu/XFce)
ฉันไม่แน่ใจว่าวิธีการgpgทำงานดูเหมือนว่าฟังก์ชั่นเริ่มต้นคือการgpgถามgpg-agentวลีรหัสผ่านและตัวแทนเรียกใช้ขาเข้าเพื่อขอข้อความรหัสผ่าน
ฉันต้องการใช้ pinentry-curses เพียงครั้งเดียวต่อเซสชันดังนั้นฉันจึงสามารถวางข้อความรหัสผ่านของฉัน (ฉันมีhexสตริงจากประโยค - ฉันใช้echo -n <SENTENCE> | str-hex) และลงชื่ออีเมลจาก Claws Mail โดยไม่ใส่ข้อความรหัสผ่าน (คุณไม่สามารถใช้ pinentry-curses กับ Claws ได้ Mail)
GPG_PROCESS=`cut -d: -f 2 $HOME/.gpg-agent-info` if test -f $HOME/.gpg-agent-info && \ kill -0 ${GPG_PROCESS} 2>/dev/null && \ [[ ${GPG_PROCESS} == `pgrep -x -u "${USER}" gpg-agent` ]] ; thenและทำงานได้ดี ปัญหาคือสคริปต์ข้างต้นตรวจสอบว่ากระบวนการใน.gpg-agent-infoยังมีชีวิตอยู่และรับสัญญาณด้วยkill -0หรือไม่ หากกระบวนการอยู่ที่นั่น แต่ไม่ใช่gpg-agentเราจะได้รับพฤติกรรมที่ไม่ถูกต้อง รหัสที่แนบมาตรวจสอบว่าเรามีกระบวนการที่ถูกต้อง