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

Joh*_*ard 4 linux ssh sshd startx

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

[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
Run Code Online (Sandbox Code Playgroud)

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

“打开显示器时出错!”

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

cas*_*cas 5

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

[[ -z $DISPLAY && -z $SSH_CLIENT && $XDG_VTNR -eq 1 ]] && exec startx
Run Code Online (Sandbox Code Playgroud)

或者,使用$SSH_CONNECTION$SSH_TTY