标题说明了一切。pgrep Xvfb
只能做到一半。它不会告诉我显示号。
标题说明了一切。pgrep Xvfb
只能做到一半。它不会告诉我显示号。
Answers:
我不确定您要完成什么,但是您可以通过运行“ 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
display=":${processes##*:}";display="${%% *}"
来获取显示编号(假设它Xorg
至少是通过命令给出的)
:0
,因此简单的检查:0
就足以满足我的需求。再次感谢!
xdpyinfo
为我帮忙,谢谢!顺便说一句。我想基于在0上运行的Xvfb设置DISPLAY env变量。