O título diz tudo. pgrep Xvfb
faz apenas metade do truque. Não vai me dizer o número do visor.
17
Não tenho certeza do que você está tentando realizar, mas você pode verificar se um X Display está disponível executando "x display info":
xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "Free"
Nota: se você não puder acessar o display, ele também será relatado como "Gratuito". Outra maneira é verificar a existência de /tmp/.X0-lock
qual contém o arquivo PID de um servidor X.
Em vez de exibir o comando, uma maneira mais confiável seria verificar os processos correspondentes ao binário:
pids=$(pidof /usr/bin/Xvfb)
if [ -n "$pids" ]; then
processes="$(ps --format command --no-headers -ww --pid $pids)"
else
echo "Not running"
fi
Fonte: https://github.com/Bumblebee-Project/Bumblebee/blob/master/install-files/common-functions#L112
xdpyinfo
faz o truque para mim, obrigado! Btw. Eu quero definir a variável env DISPLAY com base no Xvfb executando em: 0.display=":${processes##*:}";display="${%% *}"
obter o número de exibição (assumindo que é dada com o comando que é feito porXorg
pelo menos):0
, portanto, uma simples verificação:0
é suficiente para minhas necessidades. Obrigado novamente!