क्या यह gpgइस तरह से कॉन्फ़िगर करने योग्य है कि मैं केवल एक बार पासफ़्रेज़ दर्ज करूँ, और यह पूरे सत्र के लिए काम करेगा (मैं उपयोग कर रहा हूँ Ubuntu/XFce)?
मुझे यकीन नहीं है कि कैसे gpgकाम करता है, ऐसा लगता है कि डिफ़ॉल्ट फ़ंक्शन पासफ़्रेज़ के लिए gpgपूछता है gpg-agentऔर एजेंट पासफ़्रेज़ के लिए पूछने के लिए पिन-एंट्री चलाता है।
मैं प्रति सत्र केवल एक बार पेन्ट्री-श्रापों का उपयोग करना चाहूंगा, इसलिए मैं अपना पासफ़्रेज़ पेस्ट कर सकता हूं (मेरे पास hexएक वाक्य से स्ट्रिंग है - मैं उपयोग करता हूं echo -n <SENTENCE> | str-hex) और पंजेफ्रेज़ को डाले बिना पंजे मेल से ईमेल पर हस्ताक्षर करता हूं (आप पंजे के साथ पिनेंट्री-शाप का उपयोग नहीं कर सकते हैं) मेल)।
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, तो हमें गलत व्यवहार मिलता है। संलग्न कोड की जाँच हमारे पास सही प्रक्रिया है।