В заголовке говорится все это. pgrep Xvfb
только делает половину приема. Это не скажет мне число дисплея.
Я не уверен, что Вы пытаетесь выполнить, но можно проверить, доступны ли X Дисплеев путем выполнения "x информации о дисплее":
xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "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