Titel sagt alles. pgrep Xvfbmacht nur die Hälfte des Tricks. Es wird mir nicht die Display-Nummer sagen.
Titel sagt alles. pgrep Xvfbmacht nur die Hälfte des Tricks. Es wird mir nicht die Display-Nummer sagen.
Antworten:
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-lockdie 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
display=":${processes##*:}";display="${%% *}", um die Anzeigenummer zu erhalten (vorausgesetzt, sie wird mit dem Befehl angegeben, der Xorgmindestens ausgeführt wird)
:0, so dass eine einfache Überprüfung :0für meine Bedürfnisse ausreicht. Danke noch einmal!
xdpyinfomacht den Trick für mich, danke! Btw. Ich möchte die DISPLAY env-Variable basierend auf Xvfb einstellen, das auf: 0 ausgeführt wird.