如何避免在 ssh 登录时调用“startx”

如何避免在 ssh 登录时调用“startx”

我目前的情况是,在我的 .zprofile 文件中,我在互联网上的某个地方找到了以下行

[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx

我认为它应该查看是否有显示器,如果有的话它就会启动,并且 x 服务器允许 i3 窗口管理器稍后运行。这非常有效,除了当我尝试通过 SSH 登录时,一旦输入密码,它就会出错并关闭连接,并显示以下消息:

“打开显示器时出错!”

我假设这是因为它试图在登录时启动 x 服务器,我该如何解决这个问题?我假设我需要改变一些事情,以便在我通过 ssh 登录时不会调用 startx 。

答案1

检查是否$SSH_CLIENT为空以及$DISPLAY。例如:

[[ -z $DISPLAY && -z $SSH_CLIENT && $XDG_VTNR -eq 1 ]] && exec startx

或者,使用$SSH_CONNECTION$SSH_TTY

相关内容