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
두 테스트 모두 매우 순진하지만 최소한 가장 기본적인 사례를 다루고 있습니다.