Il titolo dice tutto. pgrep Xvfb
fa solo metà del trucco. Non mi dirà il numero del display.
Il titolo dice tutto. pgrep Xvfb
fa solo metà del trucco. Non mi dirà il numero del display.
Risposte:
Non sono sicuro di ciò che stai cercando di realizzare, ma puoi verificare se un X Display è disponibile eseguendo "x display info":
xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "Free"
Nota: se non riesci ad accedere al display, verrà segnalato anche come "gratuito". Un altro modo è verificare l'esistenza di /tmp/.X0-lock
quale contiene il file PID di un server X.
Invece di visualizzare il comando, un modo più affidabile sarebbe verificare i processi che corrispondono al binario:
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
display=":${processes##*:}";display="${%% *}"
per ottenere il numero visualizzato (supponendo che sia dato con il comando che è fatto Xorg
almeno per)
:0
, quindi un semplice controllo :0
è sufficiente per le mie esigenze. Grazie ancora!
xdpyinfo
fa il trucco per me, grazie! Btw. Voglio impostare la variabile env DISPLAY basata su Xvfb in esecuzione su: 0.