当我执行以下操作时:
gpg --decrypt somefile.pgp
我看到出现一个图形对话框,要求我输入私人 GPG 密钥的密码。
此后,后续运行不需要密码,因为它们似乎使用内存 GPG 代理中的 GPG 密钥。
我如何清除该 GPG 代理的所有密钥?我不喜欢它们无用地滞留在内存中。
答案1
man gpg-agent
给你:
--default-cache-ttl n
Set the time a cache entry is valid to n seconds. The default is 600 seconds.
要么修改启动 gpg-agent 的方式并添加具有更短生存时间的参数,要么根本不启动 gpg-agent。
编辑
您需要弄清楚到底是哪个程序要求您输入密码。到目前为止,很明显它不是 gpg-agent,也不是 seahorse。
打开窗口并运行wmctrl -lp | grep "The Window Title, Case Sensitive"
。你应该看到如下一行:
0x03e0000c 0 2580 <your_host_name> The Window Title
第三个数字是进程 ID。运行cat /proc/2580/cmdline
(将 2580 替换为实际进程 ID),您将看到要求您输入密码的程序文件以及任何参数。然后您可以查找该文件并查看可以采取什么措施。卸载它当然是一种选择。