Название говорит обо всем. pgrep Xvfb
только половина дела Это не скажет мне номер дисплея.
17
Я не уверен, что вы пытаетесь достичь, но вы можете проверить, доступен ли X Display, запустив «x display info»:
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.
xdpyinfo
делает трюк для меня, спасибо! Btw. Я хочу установить переменную DISPLAY env на основе Xvfb, работающей на: 0.display=":${processes##*:}";display="${%% *}"
чтобы получить номер дисплея (при условии, что он дан с командой, которая сделана, поXorg
крайней мере):0
, так что простой проверки:0
достаточно для моих нужд. Еще раз спасибо!