Назва говорить все це. 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.