是否可以检查 UNIX 机器(Mac / Linux)是否有 GUI?
基本上我想区分:
- 带 GUI 的 UNIX(即普通 Mac、Linux)
- 没有 GUI 的 UNIX(即 Mac 服务器/linux 服务器等)
我尝试使用 $DISPLAY 变量,但我认为它在 Mac OS 中不起作用(它不适用于我的 Yosemite 安装)。
背景
我正在写一个(红宝石) 脚本,该脚本在 UNIX 计算机上启动本地服务器,然后在默认浏览器中打开此本地服务器(使用open http://localhost:4567
或xdg-open http://localhost:4567
取决于操作系统)。
问题是这个脚本很可能在服务器以及普通计算机(即有或没有 GUI 的机器)上使用,并且我不想通过在命令行浏览器中打开本地服务器 URL 来惹恼服务器上的用户(如山猫等)。
注意。我计划$SSH_CLIENT
在测试 GUI 之前检查变量(等)。因此,如果您通过 SSH 连接到计算机,脚本将不会尝试打开默认浏览器。因此,以上内容是针对物理连接到服务器(而不是通过 SSH)的用户。