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

두 테스트 모두 매우 순진하지만 최소한 가장 기본적인 사례를 다루고 있습니다.

관련 정보