如何使用 bash 检查我是否处于 Mac 上的图形环境中?

如何使用 bash 检查我是否处于 Mac 上的图形环境中?

我试图通过 Mac 上的 bash 确定我是否处于图形环境中。

目标是在 bash 脚本中拥有一个可以处理这两种情况的 if/else 结构。

情况1:我可以从命令行打开窗口。

案例2:我无法从命令行打开窗口。

答案1

假设检查 Finder 是否正在运行就足够了,您可以使用

if pgrep -qx Finder; then
    echo 'Finder is running'
else
    echo 'Finder is not running'
fi

如果您正在运行某些 X 服务器(在 macOS 上不常见),并且想要检查当前会话是否附加到它,

if [ -n "$DISPLAY" ]; then
    echo 'In X'
else
    echo 'Not in X'
fi

这两个测试都很幼稚,但至少涵盖了最基本的情况。

相关内容