Как проверить, работает ли Xvfb (уже): 0?

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

15
задан 8 September 2011 в 23:21

7 ответов

Я не уверен, что вы пытаетесь выполнить, но вы можете проверить, доступен ли X-дисплей, запустив «x display info»:

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

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

Вместо того, чтобы отображать команду, более надежным способом будет проверка процессов, соответствующих двоичному: [!d2 ]

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

20
ответ дан 25 May 2018 в 18:55
  • 1
    xdpyinfo делает трюк для меня, спасибо! Btw. Я хочу установить переменную env DISPLAY на основе Xvfb: 0. – Paweł Gościcki 9 September 2011 в 13:29
  • 2
    См. github.com/pjg/dotfiles/commit/83a27c8400c78809f5 – Paweł Gościcki 9 September 2011 в 13:49
  • 3
    Итак, вы пытаетесь получить номер дисплея, используемый Xvfb? Попробуйте использовать команду ps в своем ответе и используйте что-то вроде display=":${processes##*:}";display="${%% *}", чтобы получить номер дисплея (если он задан с командой, которая выполняется для Xorg, по крайней мере) – Lekensteyn 9 September 2011 в 16:51
  • 4
    Я буду работать только на :0, поэтому для моих нужд достаточно простой проверки для :0. Еще раз спасибо! – Paweł Gościcki 9 September 2011 в 22:10
  • 5
    Я не согласен с проверкой процесса. Процесс может выполняться, но не полностью инициализирован. xdpyinfo кажется, что это будет лучшее решение, поскольку я предполагаю, что он общается с Xvfb. – Nathan 23 November 2016 в 01:32

Я не уверен, что вы пытаетесь выполнить, но вы можете проверить, доступен ли 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

20
ответ дан 25 July 2018 в 21:21

я не уверен, что вы пытаетесь достичь, но вы можете проверить, является ли х дисплея запустить "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

20
ответ дан 2 August 2018 в 03:00

Я не уверен, что вы пытаетесь выполнить, но вы можете проверить, доступен ли 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

20
ответ дан 4 August 2018 в 18:50

Я не уверен, что вы пытаетесь выполнить, но вы можете проверить, доступен ли 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

20
ответ дан 6 August 2018 в 03:13

Я не уверен, что вы пытаетесь выполнить, но вы можете проверить, доступен ли 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

20
ответ дан 7 August 2018 в 20:55

Я не уверен, что вы пытаетесь выполнить, но вы можете проверить, доступен ли 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

20
ответ дан 10 August 2018 в 09:17

Другие вопросы по тегам:

Похожие вопросы: