当我打开电脑并打开 VSCode 时,它会要求我输入密码:
Enter password to unlock your login keyring
The login keyring did not get unlocked when you logged into your computer.
网上有很多相同情况的案例,但我从未遇到过 VSCode 特有的问题。
我知道“问题”出在密钥环上,但为什么只有在 VSCode 上才会出现这种情况?
编辑:我有 Ubuntu 20.04,并且自动登录已打开。
答案1
使用自动登录时,密钥环不会在您登录时解锁。
每当程序将其密码保存到密钥环并尝试访问它时,密钥环都会要求输入其密码,该密码默认与登录密码相同。
例如,chrome/ium
或就是这种情况ssh-agent
。我不知道vscode/ium
你的情况是什么,也许它试图git
通过ssh
连接访问某个存储库(因此,它可能实际上是ssh-agent
在尝试访问ssh-key
(?))或者它想访问密钥环中保存的某些git
密码ssh
。它也可能来自插件,例如我看到一些报告Live Share
可能会导致这种情况。
可能的解决方案:
- 不要使用自动登录,否则密钥环将在您登录时自动解锁。
- 删除密码从密钥环中删除以避免弹出窗口。但是,您需要注意安全隐患。如果您是系统的唯一用户,我只会这样做和使用全盘加密。
也可以看看:如何才能不再提示我在启动时解锁“默认”密钥环?
答案2
在该问题应用程序修复之前,只需运行code --password-store=basic
- 至少在代码 v1.80 下有效。它指示嵌入式电子使用其自己的密码存储,而不是 gnome-keyring 等。
另一个不太好的主意是重命名用于获取密码的应用程序,例如在 Ubuntu 20.04 上sudo mv /usr/libexec/gcr-prompter /usr/libexec/gcr-prompter.disabled
。其他想要使用 gnome-keyring 的应用程序也无法通过这种方式获取密码。
如果您根本不关心 gnome-keyring,您可以删除软件包 gcr(例如sudo apt-get purge gcr
),这可能会删除您可能需要的其他软件包。因此,在说“是”之前,请先研究其输出 ;-)。