![Funtoo keychain - 如何避免阻止 i3 登录?](https://linux22.com/image/205261/Funtoo%20keychain%20-%20%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%E9%98%BB%E6%AD%A2%20i3%20%E7%99%BB%E5%BD%95%EF%BC%9F.png)
我在 Ubuntu 22.04 上使用 Funtoo keychain
,并按照说明将以下内容添加到~/.profile
:
eval `keychain --eval --agents ssh id_rsa`
我正在从 GDM 运行 i3 窗口管理器,问题是 GDM 似乎在运行/bin/bash /etc/gdm3/Xsession i3
,它调用我的~/.profile
脚本。这会导致它挂在线路上,eval
因为它会提示输入密码。由于没有交互式 shell,我无法添加交互式 shell,整个登录过程会停止并显示空白屏幕。
要恢复,我必须编辑~/.profile
以删除钥匙串线,并手动重新启动 GDM。
有没有一种有效的方法可以不阻止此登录过程,但在我第一次实际在 i3 中打开 shell 窗口时,钥匙串仍然要求我输入密码?
答案1
我发现将钥匙串初始化移至~/.bashrc
似乎可以解决我在登录时遇到的问题:
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# keychain - moved from .profile to avoid blocking i3 login
eval $(/usr/bin/keychain --quiet --nogui --eval --agents ssh $HOME/.ssh/id_rsa)
这确实会导致--eval
我打开的每个终端都处于钥匙串运行模式,但它似乎确实有效。