首页 > 解决方案 > 带有 ubuntu + wsl 2 的 vscode 永远不会提示输入 gpg 密码,即使在配置之后只是“无法写入提交数据”

问题描述

我试图让 vscode 在尝试提交时提示输入密码,就像它在 Windows 中所做的那样,或者至少使必须输入密码之间的时间更长。

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

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

echo "test" | gpg --clearsign

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

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

编辑:

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

export GPG_TTY=$(tty)

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

标签: visual-studio-codewindows-subsystem-for-linuxgnupgvscode-remotewsl-2

解决方案


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

default-cache-ttl 28800
max-cache-ttl 28800

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

export GPG_TTY=$TTY
echo "test" | gpg --clearsign > /dev/null 2>&1

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


推荐阅读