如何在WSL中处理gpg-agent?

8

我试图发布一个Jar文件,但gpg-agent没有启动。根据https://www.gnupg.org/documentation/manuals/gnupg-devel/Invoking-GPG_002dAGENT.html的说明,在任何GnuPG程序调用时它都应该自动启动,但在WSL中似乎不是这样的。

pupeno@DESKTOP-5N8VFOD:~$ gpg-agent
gpg-agent: no gpg-agent running in this session

有一瞬间我认为 GnuPG 在 WSL 上可能无法工作,但是我成功手动启动了它:

pupeno@DESKTOP-5N8VFOD:~$ eval $(gpg-agent --daemon)
pupeno@DESKTOP-5N8VFOD:~$ gpg-agent
gpg-agent: gpg-agent running and available

那么,缺少什么呢?为什么它不能自动启动?或者我该如何启动它?

你尝试运行 $ gpg 了吗?我在使用 Yubikey 时遇到了一个相关的问题,需要杀死 gpg-agent。在这种情况下,我只需运行 $ gpg --card-edit,它就会重新启动。 - mikwat
1个回答

4

您希望gpg-agent自动启动,因此请从~/.bashrc中启动它。

echo 'eval $(gpg-agent --daemon)' >> ~/.bashrc

3
如果你使用类似ConEmu的控制台模拟器与WSL一起使用,这将为每个选项卡启动一个新的gpg-agent。 - raisinrising
当我启动新的WSL窗口和选项卡时,会出现“gpg-agent:已经运行gpg-agent-不启动新的代理”的提示。 - Martin Thøgersen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接