Titel sagt alles. pgrep Xvfb
macht nur die Hälfte des Tricks. Es wird mir nicht die Display-Nummer sagen.
17
Ich bin nicht sicher, was Sie erreichen möchten, aber Sie können überprüfen, ob eine X-Anzeige verfügbar ist, indem Sie "x display info" ausführen:
xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "Free"
Hinweis: Wenn Sie nicht auf das Display zugreifen können, wird es ebenfalls als "Frei" gemeldet. Eine andere Möglichkeit besteht darin, zu überprüfen, ob /tmp/.X0-lock
die PID-Datei eines X-Servers vorhanden ist.
Anstatt den Befehl anzuzeigen, wäre es zuverlässiger, nach Prozessen zu suchen, die mit der Binärdatei übereinstimmen:
pids=$(pidof /usr/bin/Xvfb)
if [ -n "$pids" ]; then
processes="$(ps --format command --no-headers -ww --pid $pids)"
else
echo "Not running"
fi
Quelle: https://github.com/Bumblebee-Project/Bumblebee/blob/master/install-files/common-functions#L112
xdpyinfo
macht den Trick für mich, danke! Btw. Ich möchte die DISPLAY env-Variable basierend auf Xvfb einstellen, das auf: 0 ausgeführt wird.display=":${processes##*:}";display="${%% *}"
, um die Anzeigenummer zu erhalten (vorausgesetzt, sie wird mit dem Befehl angegeben, derXorg
mindestens ausgeführt wird):0
, so dass eine einfache Überprüfung:0
für meine Bedürfnisse ausreicht. Danke noch einmal!