Как проверить, запущен ли Xvfb на дисплее :0?

Как проверить, запущен ли Xvfb на дисплее :0?

Название говорит само за себя. pgrep Xvfbделает только половину трюка. Он не скажет мне номер дисплея.

решение1

Я не совсем понимаю, чего вы пытаетесь добиться, но вы можете проверить, доступен ли X Display, выполнив команду «x display info»:

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

Примечание: если вы не можете получить доступ к дисплею, он также будет отмечен как "Free". Другой способ - проверка существования , /tmp/.X0-lockкоторый содержит PID-файл X-сервера.

Вместо отображения команды более надежным способом была бы проверка процессов, соответствующих двоичному файлу:

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

Связанный контент