如何设置 .bashrc,以便环境变量的值根据当前会话是否有权访问 gui/窗口系统而变化?
例如,假设我有一个环境变量来控制我的 VCS 将使用哪个 diff 程序。
当我坐在机器前时,我想使用 GUI 程序。但是,当我通过 SSH 远程连接时,我希望它自动使用基于文本的终端差异查看器。
如何检查窗口系统是否可用?
答案1
您可以检查该$DISPLAY
变量以查看您是否在 x 显示上 - 如果它非空,则您有一个显示:
if [ -n "$DISPLAY" ]; then
# run GUI program
else
# run term program
fi
快速测试表明这甚至适用于 X 隧道。