Xvfb가 (이미) 디스플레이에서 실행 중인지 확인하는 방법 :0?

Xvfb가 (이미) 디스플레이에서 실행 중인지 확인하는 방법 :0?

제목이 모든 것을 말해줍니다. pgrep Xvfb트릭의 절반만 수행합니다. 디스플레이 번호는 알려주지 않습니다.

답변1

무엇을 달성하려는지 잘 모르겠지만 "x 디스플레이 정보"를 실행하여 X 디스플레이를 사용할 수 있는지 확인할 수 있습니다.

xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "Free"

참고: 디스플레이에 액세스할 수 없는 경우에도 "무료"로 보고됩니다. 또 다른 방법은 /tmp/.X0-lockX 서버의 PID 파일이 포함되어 있는지 확인하는 것입니다.

명령을 표시하는 대신 바이너리와 일치하는 프로세스를 확인하는 것이 더 안정적인 방법입니다.

pids=$(pidof /usr/bin/Xvfb)
if [ -n "$pids" ]; then
    processes="$(ps --format command --no-headers -ww --pid $pids)"
else
    echo "Not running"
fi

원천:https://github.com/Bumblebee-Project/Bumblebee/blob/master/install-files/common-functions#L112

관련 정보