Bash 检测脚本是从GUI还是SSH登录启动的

Bash 检测脚本是从GUI还是SSH登录启动的,bash,Bash,如何在bash脚本中检测bash脚本是否是从启动的 主GUI/键盘/鼠标(可能包括VNC) 或 如果是以其他方式开始的 例如,通过SSH终端连接?您无法可靠地进行连接。您应该做的是在$DISPLAY中检查一个值,如果有,则在GUI模式下运行。您可以检查一些变量,尤其是那些以SSH\uuu开头的变量。在我的安装程序(在ssh代理下运行)上,设置了以下内容: SSH_CLIENT='127.0.0.1 43547 22' SSH_CONNECTION='127.0.0.1 43547 127.0.0

如何在bash脚本中检测bash脚本是否是从启动的

主GUI/键盘/鼠标(可能包括VNC)

如果是以其他方式开始的


例如,通过SSH终端连接?

您无法可靠地进行连接。您应该做的是在
$DISPLAY
中检查一个值,如果有,则在GUI模式下运行。

您可以检查一些变量,尤其是那些以
SSH\uuu
开头的变量。在我的安装程序(在ssh代理下运行)上,设置了以下内容:

SSH_CLIENT='127.0.0.1 43547 22'
SSH_CONNECTION='127.0.0.1 43547 127.0.0.1 22'
SSH_TTY=/dev/pts/7