带有 ubuntu + wsl 2 的 vscode 永远不会提示输入 gpg 密码,即使配置只是“无法写入提交数据”

Mic*_*elB 6 gnupg visual-studio-code windows-subsystem-for-linux vscode-remote wsl-2

我试图让 vscode 在尝试提交时提示输入密码,就像在 Windows 中一样,或者至少让输入密码之间的时间更长。

我在今天安装的 ubuntu + WSL 2 上使用最新版本。

如果我按如下方式运行测试,GPG 将在 CLI 中工作:

echo "test" | gpg --clearsign
Run Code Online (Sandbox Code Playgroud)

我被提示输入密码,一切都很好。然后我就可以临时在 vscode 中签署提交。

至少作为一种解决方法,是否可以选择使输入密码短语之间的时间更长?

编辑:

每次重新启动计算机时,我也必须输入:

export GPG_TTY=$(tty)
Run Code Online (Sandbox Code Playgroud)

否则上述解决方法将不起作用。试图解决这个问题很疯狂,可能至少花了一整天但没有用。

Tan*_*Tan 1

在您的~/.gnupg/gpg-agent.conf 文件中,添加以下内容:

default-cache-ttl 28800
max-cache-ttl 28800
Run Code Online (Sandbox Code Playgroud)

您还可以将以下内容添加到您的文件中~/.bashrc,这样您就不必每次都手动输入:

export GPG_TTY=$TTY
echo "test" | gpg --clearsign > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

这会在启动时提示我输入密码,并且应该缓存 8 小时。该> /dev/null 2>&1位隐藏输出。目前,这是我正在使用的解决方法——虽然不理想但可以忍受。