Назва говорить все це. pgrep Xvfbлише половина хитрості. Він не скаже мені номер дисплея.
Назва говорить все це. pgrep Xvfbлише половина хитрості. Він не скаже мені номер дисплея.
Відповіді:
Я не впевнений, що ви намагаєтеся зробити, але ви можете перевірити, чи доступний X-дисплей, запустивши "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
display=":${processes##*:}";display="${%% *}"щоб отримати номер відображення (припустимо, що він заданий командою, яка виконується Xorgпринаймні)
:0, тому :0для моїх потреб достатня проста перевірка . Знову дякую!
xdpyinfoтрюк для мене, дякую! Btw. Я хочу встановити змінну DISPLAY env на основі Xvfb, що працює на: 0.