এক্সভিএফবি প্রস্তুত হওয়ার জন্য কীভাবে পোল করবেন?


11

ট্রাভিস সি আই ডকুমেন্টেশন চালানোর জন্য বলছেন sleep 3শুরু করার পরে xvfb"দিতে [এটি] কিছু সময় শুরু করার জন্য" করা হয়েছে। manপৃষ্ঠাতে এই বিলম্বের কোনও রেফারেন্স আমি পাইনি । এই কার্গো কাল্ট প্রোগ্রামিং হয়? যদি না হয়, আমি কিভাবে করবো ভোট বদলে ঘুমাতে গ্যারান্টি এটি উপলব্ধ?

উত্তর:


6

ডিফল্টরূপে Xvfbক্লায়েন্টদের সংযোগের জন্য একটি ইউনিক্স ডোমেন সকেট তৈরি করবে। আমার সিস্টেমে এই ফাইল সকেট ফাইলটি তৈরি করা হয়েছে /tmp/.X11-unix/। আপনি inotifywaitএই ডিরেক্টরিতে ইভেন্ট শুনতে শুনতে ব্যবহার করতে পারেন। উদাহরণ স্বরূপ,

 $ inotifywait -e create /tmp/.X11-unix/

এবং তারপরে চালান Xvfb :9(উদাহরণস্বরূপ 9 প্রদর্শন করুন)। এটি প্রস্তুত হয়ে গেলে আপনার দেখা উচিত

/tmp/.X11-unix/ CREATE X9

inotifywaitযা থেকে শেষ হবে। আপনার এখন সংযোগ করতে সক্ষম হওয়া উচিত DISPLAY=:9


এটি এমন সিস্টেমে কাজ করবে যেখানে আমি উপযুক্ত চাকরি নিয়ন্ত্রণের আশা করতে পারি, তবে আমি ট্র্যাভিস সিআই কনফিগারেশন ফাইলটিতে এটি করার চেষ্টা করছি। আমি মনে করি না যে আমি ব্যাকগ্রাউন্ড জব ব্যবহার করতে সক্ষম হয়ে থাকতে পারি এবং তাদের শেষ হওয়ার জন্য অপেক্ষা করি।
l0b0

3
একটি সাধারণ while [ ! -e /tmp/.X11-unix/X99 ]; do sleep 0.1; doneআসলে কৌশলটি করেছিল । পথ টিপ হওয়ার কারণে সমাধান হিসাবে চিহ্নিত করা হচ্ছে।
l0b0

1

যারা সম্পূর্ণ স্ক্রিপ্টগুলি চালাতে পারেন তাদের জন্য অন্য বিকল্পটি xdpyinfoপছন্দসই ডিসপ্লেতে ব্যবহার করা হবে :

# Start Xvfb
sudo /usr/bin/Xvfb ${DISPLAY} -screen 0 1280x800x24 &

# Wait for Xvfb
MAX_ATTEMPTS=120 # About 60 seconds
COUNT=0
echo -n "Waiting for Xvfb to be ready..."
while ! xdpyinfo -display ${DISPLAY} >/dev/null 2>&1; do
  echo -n "."
  sleep 0.50s
  COUNT=$(( COUNT + 1 ))
  if [ "${COUNT}" -ge "${MAX_ATTEMPTS}" ]; then
    echo "  Gave up waiting for X server on ${DISPLAY}"
    exit 1
  fi
done
echo "  Done - Xvfb is ready!"

( Https://gist.github.com/tullmann/476cc71169295d5c3fe6 দ্বারা অনুপ্রাণিত উত্তর )।


ধন্যবাদ! শুধু একক xdpyinfoলাইন যথেষ্ট হবে; লুপটি এক মিলিয়ন বিভিন্ন উপায়ে করা যেতে পারে।
l0b0

অবশ্যই এটি বিভিন্ন উপায়ে করা যেতে পারে। যদিও, এই স্নিপেটটি সুন্দর-মুদ্রিত আউটপুট তৈরি করে যা আপনাকে Xvfb প্রস্তুত হতে কত সময় লেগেছে তার একটি ধারণা দেয়। আমি লিখেছি যে এটি আমার নিজের ব্যবহারের জন্য, তবে বুঝতে পেরেছেন যে অন্যরাও এতে উপকৃত হতে পারে।
আন্তন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.