Le titre dit tout. pgrep Xvfb
ne fait que la moitié du tour. Il ne me dira pas le numéro d'affichage.
17
Je ne suis pas sûr de ce que vous essayez d'accomplir, mais vous pouvez vérifier si un affichage X est disponible en exécutant "x display info":
xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "Free"
Remarque: si vous ne pouvez pas accéder à l'affichage, il sera également signalé comme "gratuit". Une autre façon consiste à vérifier l'existence de /tmp/.X0-lock
ce qui contient le fichier PID d'un serveur X.
Au lieu d'afficher la commande, un moyen plus fiable serait de vérifier les processus correspondant au binaire:
pids=$(pidof /usr/bin/Xvfb)
if [ -n "$pids" ]; then
processes="$(ps --format command --no-headers -ww --pid $pids)"
else
echo "Not running"
fi
Source: https://github.com/Bumblebee-Project/Bumblebee/blob/master/install-files/common-functions#L112
xdpyinfo
fait l'affaire pour moi, merci! Btw. Je veux définir la variable env DISPLAY basée sur Xvfb fonctionnant sur: 0.display=":${processes##*:}";display="${%% *}"
pour obtenir le numéro d'affichage (en supposant qu'il soit donné avec la commande qui est effectuée pendantXorg
au moins):0
, donc une simple vérification:0
suffit pour mes besoins. Merci encore!