如何檢查 Xvfb 是否(已經)在顯示器 :0 上運行?

如何檢查 Xvfb 是否(已經)在顯示器 :0 上運行?

標題說明了一切。pgrep Xvfb只成功了一半。它不會告訴我顯示號碼。

答案1

我不確定您想要完成什麼,但您可以透過執行「x display info」來檢查 X Display 是否可用:

xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "Free"

注意:如果您無法存取顯示器,它也會被報告為“免費”。另一種方法是檢查是否存在/tmp/.X0-lock包含 X 伺服器的 PID 檔案。

一種更可靠的方法是檢查與二進位檔案相符的進程,而不是顯示命令:

pids=$(pidof /usr/bin/Xvfb)
if [ -n "$pids" ]; then
    processes="$(ps --format command --no-headers -ww --pid $pids)"
else
    echo "Not running"
fi

來源:https://github.com/Bumblebee-Project/Bumblebee/blob/master/install-files/common-functions#L112

相關內容