उपयोग में पहला गैर प्रदर्शन नंबर प्राप्त करना


1

मुझे जैसी कमांड देने की जरूरत है

Xvfb: 6-स्क्रीन 0 1024x768x24

जहां 6 एक डिस्प्ले नंबर हो सकता है। अब Xvfb पहले से ही उस डिस्प्ले का उपयोग कर रहा है, इसलिए मुझे पहला डिस्प्ले नंबर कैसे नहीं मिलेगा?

जवाबों:


0

एक आसान तरीका हो सकता है, लेकिन मैं एक स्क्रिप्ट लिखूंगा जो xdpyinfo के साथ डिस्प्ले को क्वेरी करता है ।

बहुत अधिक 3 मामले हैं:

  1. प्रदर्शन मौजूद है, और आपके शेल की डिस्प्ले तक पहुंच है। xdpyinfo बहुत सारी जानकारी बाहर थूक देगा।

  2. प्रदर्शन मौजूद है, और आपके शेल में डिस्प्ले की पहुंच नहीं है। xdpyinfo इस तरह से एक एक्सेस एरर और एक ओपन-टू-ओपन एरर थूक देगा:
    Invalid MIT-MAGIC-COOKIE-1 keyxdpyinfo: unable to open display ":0".

  3. प्रदर्शन मौजूद नहीं है। xdpyinfo एक असमर्थित -टू-ओपन त्रुटि को थूक देगा:
    xdpyinfo: unable to open display ":1".

एक स्क्रिप्ट कुछ इस तरह दिखाई देगी:

#/bin/bash
CHECKDISPLAY=0
DONE="no"

while [ "$DONE" == "no" ]
do
   out=$(xdpyinfo -display :$CHECKDISPLAY 2>&1)
   if [[ "$out" == name* ]] || [[ "$out" == Invalid* ]]
   then
      # command succeeded; or failed with access error;  display exists
      (( CHECKDISPLAY+=1 ))
   else
      # display doesn't exist
      DONE="yes"
   fi
done

echo "first available display is :$CHECKDISPLAY"

1

xvfb- रन में एक ध्वज होता है --auto-servernumजो X लॉक फ़ाइलों की तलाश में काम करता है /tmp

एक एकल पंक्ति में स्क्वीज़ किया गया जिसे आप अपने .bashrc में उपनाम दे सकते हैं, यह इस तरह दिखता है:

i=0; while [ -f /tmp/.X$i-lock ]; do i=$(($i + 1)); done; echo $i

यदि आप केवल Xvfb के प्रदर्शन सेट के साथ एक प्रोग्राम चलाने की कोशिश कर रहे हैं, तो मैं सिर्फ xvfb- रन का उपयोग करूंगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.