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

どちらのテストも非常に素朴ですが、少なくとも最も基本的なケースをカバーしています。

おすすめ記事