如何根据GUI是否可用设置环境变量?

如何根据GUI是否可用设置环境变量?

如何设置 .bashrc,以便环境变量的值根据当前会话是否有权访问 gui/窗口系统而变化?

例如,假设我有一个环境变量来控制我的 VCS 将使用哪个 diff 程序。

当我坐在机器前时,我想使用 GUI 程序。但是,当我通过 SSH 远程连接时,我希望它自动使用基于文本的终端差异查看器。

如何检查窗口系统是否可用?

答案1

您可以检查该$DISPLAY变量以查看您是否在 x 显示上 - 如果它非空,则您有一个显示:

if [ -n "$DISPLAY" ]; then
    # run GUI program
else
    # run term program
fi

快速测试表明这甚至适用于 X 隧道。

相关内容