Xvfb है (पहले से) प्रदर्शन पर चल रहा है: 0 की जाँच करने के लिए कैसे?


17

शीर्षक यह सब कहता है। pgrep Xvfbकेवल चाल का आधा हिस्सा करता है। यह मुझे डिस्प्ले नंबर नहीं बताएगा।

जवाबों:


23

मुझे यकीन नहीं है कि आप क्या हासिल करने की कोशिश कर रहे हैं, लेकिन आप देख सकते हैं कि क्या "एक्स डिस्प्ले जानकारी" चलाकर एक एक्स डिस्प्ले उपलब्ध है:

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

नोट: यदि आप प्रदर्शन तक नहीं पहुंच सकते हैं, तो इसे "नि: शुल्क" भी बताया जाएगा। एक और तरीका है /tmp/.X0-lockजो अस्तित्व के लिए जाँच कर रहा है जिसमें एक एक्स सर्वर की पीआईडी ​​फ़ाइल शामिल है।

आदेश को प्रदर्शित करने के बजाय, बाइनरी से मेल खाने वाली प्रक्रियाओं के लिए एक अधिक विश्वसनीय तरीका जांचना होगा:

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


1
xdpyinfoमेरे लिए चाल है, धन्यवाद! Btw। मैं Xvfb पर चल रहे DISPLAY env वैरिएबल को सेट करना चाहता हूं: 0।
Paweł Go Pawcicki


तो आप Xvfb द्वारा उपयोग की जाने वाली प्रदर्शन संख्या प्राप्त करने की कोशिश कर रहे हैं? मेरे उत्तर में ps कमांड का उपयोग करने की कोशिश करें और display=":${processes##*:}";display="${%% *}"डिस्प्ले नंबर प्राप्त करने के लिए कुछ का उपयोग करें (यह मानते हुए कि यह कमांड के साथ दिया गया है जो Xorgकम से कम किया जाता है )
Lekensteyn

मेरे पास यह केवल चल रहा होगा :0, इसलिए :0मेरी आवश्यकताओं के लिए सरल जांच पर्याप्त है। एक बार फिर धन्यवाद!
Paweł Goicicki

मैं प्रक्रिया जाँच से असहमत हूँ। प्रक्रिया चल रही है, लेकिन पूरी तरह से शुरू नहीं किया है। xdpyinfo ऐसा लगता है कि यह एक बेहतर समाधान होगा क्योंकि मुझे लगता है कि यह Xvfb के साथ संवाद कर रहा है।
नाथन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.