如果从.xsessionrc启动,xautolock / ssh-add无法与ssh-agent进行交互

安德烈亚斯(Andreas)

xautolock在给定的时间不活动之后,用来锁定屏幕并挂起笔记本电脑。这很好。这是如何xautolock开始的.xsessionrc

xautolock -time 60 -detectsleep -locker '~/bin/lockscreen --suspend' &

~/bin/lockscreen脚本除其他功能外,还ssh-add -D可以从正在运行的SSH代理中删除所有SSH密钥。但是,当xautolock从中产生此消息时,它不起作用.xsessionrc-该ssh-add -D命令抱怨它无法与身份验证代理进行通信。

但是,我可以ssh-add -D在终端上正常pkill xautolock运行,如果在终端上运行xautolock命令.xsessionrc,则一切正常。

为什么不能ssh-add -D过程中催生的xautolock,从催生.xsessionrc聊到SSH代理,而是ssh-add -D催生了从xautolock从一个普通终端可以催生?

ps auf 显示这棵树:

root     24126  0.0  0.1 105812  5032 tty1     Ss   18:34   0:00 /bin/login --        
andreas  24132  0.0  0.1  40232  4956 tty1     S    18:34   0:00  \_ -zsh
andreas  24140  0.0  0.0   4328  1576 tty1     S+   18:34   0:00    \_ /bin/sh /usr/bin/startx
andreas  24162  0.0  0.0  15944  1952 tty1     S+   18:34   0:00      \_ xinit /etc/X11/xinit/xinitrc -- /etc/X11/xinit/xserverrc :0 vt1 -auth /tmp/serverauth.afXu0ohTRz
root     24163  1.4  0.5 165868 20048 tty1     S    18:34   0:02        \_ /usr/bin/X -nolisten tcp :0 vt1 -auth /tmp/serverauth.afXu0ohTRz
andreas  24169  0.0  0.2 113572 10600 tty1     S    18:34   0:00        \_ x-window-manager
andreas  24203  0.0  0.7 489436 26380 tty1     Sl   18:34   0:00          \_ nm-applet
andreas  24204  0.0  0.0  20140  2700 tty1     S    18:34   0:00          \_ xautolock -time 60 -detectsleep -locker ~/bin/lockscreen --suspend
andreas  24209  0.0  0.0  22196  2680 tty1     S    18:34   0:00          \_ /usr/bin/unclutter -idle 1 -root
andreas  24212  0.0  0.0  10688   340 ?        Ss   18:34   0:00          \_ /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-window-manager

我唯一可行的理论是,因为xautolock该分支ssh-add命令是在SSH代理之前启动的,所以它不知道该代理的存在,但这对我来说似乎很奇怪。

安德烈亚斯(Andreas)

X窗口管理器通过命令启动ssh-agent dbus-launcher --exit-with-session i3,这意味着SSH代理在窗口管理器之前启动。但是,Debian.xsessionrc在发生这种情况之前xautolocker就已经找到了资源,因此在启动时,SSH代理尚未启动,并且ssh-add尚未设置与代理进行通信所需的环境变量

一种解决方案是.xinitrc在采购之前进行修改以启动代理.xsessionrc

if command -v 'ssh-agent' >/dev/null 2>&1; then
    eval $(ssh-agent -s)
fi

[ -e $HOME/.xsessionrc ] && . $HOME/.xsessionrc

x-window-manager

if command -v 'ssh-agent' >/dev/null 2>&1; then
    ssh-agent -k
fi

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果密钥不在ssh-agent中,则在ssh / slogin上执行ssh-add吗?

来自分类Dev

如果密钥不在ssh-agent中,则在ssh / slogin上执行ssh-add吗?

来自分类Dev

ssh-agent / ssh-add错误:无法打开与身份验证代理的连接

来自分类Dev

无法使用eval $(ssh-agent)&& ssh-add在同一会话中存储密码

来自分类Dev

ssh-agent在哪里启动?

来自分类Dev

如果inventory_hostname 不同,则通过ssh 进行ansible 同步

来自分类Dev

ssh忽略ssh-agent

来自分类Dev

无法通过SSH进行openshift

来自分类Dev

ssh-agent ssh-add ok in user not in sudo

来自分类Dev

没有ssh-agent的Ubuntu 16.04 ssh-add?

来自分类Dev

如果条件在SSH内失败

来自分类Dev

PHP shell_exec ssh-add ssh-agent无法打开与身份验证代理的连接

来自分类Dev

Github ssh-agent无法推送

来自分类Dev

Github ssh-agent无法推送

来自分类Dev

SSH-AGENT无法打开连接

来自分类Dev

ssh-agent无法正常工作

来自分类Dev

ssh-agent如何在启动时启动?

来自分类Dev

启动xterm时立即进行ssh会话

来自分类Dev

如果条件无法通过ssh在脚本中运行

来自分类Dev

通过SSH从后台脚本与远程“外壳”进行交互

来自分类Dev

字体/ SSH交互?

来自分类Dev

从PHP启动交互式SSH bash会话

来自分类Dev

奇异的SSH问题-甚至无法启动

来自分类Dev

奇异的SSH问题-甚至无法启动

来自分类Dev

带有sudo的ssh无法启动服务

来自分类Dev

无法使用SSH启动远程WildFly

来自分类Dev

启动ssh时无法识别的服务

来自分类Dev

无法通过市集SSH到启动板

来自分类Dev

无法通过 SSH 启动 dask 集群