### Xvfb क्या है? लिनक्स स्वचालन के लिए वर्चुअल डिस्प्ले

Xvfb क्या है?

Scrapeless Scraping Browser एक प्रबंधित क्लाउड ब्राउज़र वातावरण प्रदान करता है, ताकि स्वचालन टीमें स्थानीय Xvfb डिस्प्ले को बनाए रखे बिना ब्राउज़र कार्यप्रवाह चला सकें।

TL;DR

  • Xvfb एक X11 डिस्प्ले सर्वर है जो भौतिक मॉनिटर के बजाय मेमोरी द्वारा समर्थित है। ग्राफिकल एप्लिकेशन इससे कनेक्ट कर सकते हैं भले ही मशीन में कोई डिस्प्ले हार्डवेयर न हो।
  • Xvfb न तो एक ब्राउज़र है और न ही एक विंडो प्रबंधक है। यह डिस्प्ले सर्वर प्रदान करता है जिसकी X11 क्लाइंट्स को अपेक्षा होती है।
  • नैटिव हेडलेस ब्राउज़र मोड और Xvfb संबंधित लेकिन विभिन्न समस्याओं का समाधान करते हैं। हेडलैस मोड एप्लिकेशन का मोड बदलता है; Xvfb एप्लिकेशन को एक ग्राफिकल X11 क्लाइंट के रूप में चलाने की अनुमति देता है।
  • स्क्रीन आयाम और रंग गहराई कॉन्फ़िगरेशन इनपुट हैं। वे लेआउट, स्क्रीनशॉट और रेंडरिंग परीक्षणों पर प्रभाव डाल सकते हैं।
  • एक वर्चुअल डिस्प्ले एक भौतिक GPU का पुनरुत्पादित नहीं करता है। ग्राफ़िक्स त्वरण, फ़ॉन्ट, डेस्कटॉप सेवाएँ, और उपकरण व्यवहार के लिए अलग-अलग परीक्षण की आवश्यकता होती है।

क्यों प्रदर्शित अवसंरचना महत्वपूर्ण है

Xvfb उस प्रकार को प्रभावित करता है जिसमें ब्राउज़र स्थिति को उजागर करते हैं, सामग्री को रेंडर करते हैं, या निर्णय लेते हैं कि कब एक स्वचालित क्रिया सुरक्षित है। एक सटीक परिभाषा टीमों को एक संकीर्ण संकेत को एक सार्वभौमिक उत्तर के रूप में मानने से रोकती है। यह परीक्षण विफलताओं का निदान करना भी आसान बनाता है क्योंकि अपेक्षित ब्राउज़र व्यवहार एक प्रलेखित जीवनचक्र, एपीआई, या प्रणाली सीमा से बंधा होता है।

वेब ऑटोमेशन के लिए, व्यावहारिक प्रश्न हमेशा “क्या पृष्ठ तैयार है?” या “क्या ब्राउज़र असली दिखता है?” से अधिक संकीर्ण होता है। अगला कदम एक नियंत्रण को सक्रिय करने, एक फ्रेम को नेविगेशन पूरा करने, एक घटक को अपने आंतरिक पेड़ को संलग्न करने, या एक रेंडरिंग सतह को स्थिर रखने की आवश्यकता हो सकती है। नीचे के अनुभाग इस सिद्धांत को अवलोकनीय जांच में बदलते हैं, बजाय इसके कि किंवदंतियों पर निर्भर रहें।

Xvfb एक वाक्य में

Xvfb एक X विंडो सिस्टम सर्वर है जो एक आभासी फ्रेमबफर में मेमोरी में रेंडर करता है न कि एक भौतिक स्क्रीन को चलाने के लिए। एक X11 अनुप्रयोग एक डिस्प्ले संख्या से कनेक्ट करता है, विंडो बनाता है, सामग्री चित्रित करता है, और सामान्य X प्रोटोकॉल के माध्यम से घटनाएँ प्राप्त करता है। पिक्सल मौजूद हैं भले ही कोई मॉनिटर जुड़ा हुआ न हो।

The आधिकारिक Xvfb मैनुअल इसे बिना डिस्प्ले हार्डवेयर या भौतिक इनपुट उपकरणों वाले मशीनों के लिए एक एक्स सर्वर के रूप में वर्णित किया गया है। फ्रेमबफर आवंटित मेमोरी, साझा मेमोरी, या मेमोरी-मैप की गई फ़ाइल में रह सकता है। मूल परीक्षण उपयोग बैच रेंडरिंग, अनुप्रयोग परीक्षण, और उन कार्यक्रमों के लिए समर्थन में विस्तारित हुआ जो एक्स सर्वर पर जोर देते हैं।

नाम X वर्चुअल फ्रेमबफर में विस्तारित होता है। महत्वपूर्ण शब्द सर्वर है। X11 क्लाइंट्स सीधे मॉनिटर पर नहीं आते; वे एक X सर्वर से बात करते हैं। Xvfb उस सर्वर पक्ष को लागू करता है जबकि हार्डवेयर-समर्थित फ्रेमबफर को मेमोरी से बदलता है। यही कारण है कि एक डिस्प्ले पर्यावरण चर सेट करने से अनुप्रयोगों को Xvfb की ओर इंगित किया जाता है बजाय इसके कि उसे खुद बिना हेडलेस बनाए।

वर्चुअल डिस्प्ले कैसे मिलती है

एक X11 डिस्प्ले में एक डिस्प्ले नंबर और एक या एक से अधिक स्क्रीन होती हैं। Xvfb एक उपलब्ध डिस्प्ले नंबर पर शुरू होता है और कॉन्फ़िगर की गई चौड़ाई, ऊँचाई और रंग गहराई के साथ एक स्क्रीन बनाता है। क्लाइंट प्रक्रियाएँ DISPLAY परिवेश चर के माध्यम से डिस्प्ले पता प्राप्त करती हैं। क्लाइंट के लिए, कनेक्शन एक साधारण X सर्वर कनेक्शन की तरह दिखता है।

Xvfb चित्रण अनुरोधों को संभालता है और उसके फ्रेमबफर में परिणामी पिक्सल रखता है। यह स्वचालित रूप से डेस्कटॉप शेल, विंडो सज्जा, या एक समग्र प्रबंधक प्रदान नहीं करता है। कुछ परीक्षण सूटों को केवल सर्वर की आवश्यकता होती है। दूसरों को एक हल्का विंडो प्रबंधक या अतिरिक्त डेस्कटॉप सेवाओं की आवश्यकता होती है क्योंकि एप्लिकेशन मानता है कि वे मौजूद हैं।

The X सर्वर मैनुअल संख्याएँ प्रदर्शित करने, सर्वर विकल्पों, अधिकारिकता, और X सर्वरों द्वारा साझा की गई सामान्य व्यवहार को समझाता है। यह विभाजन विफलताओं को हल करने में मदद करता है: एक अनुपलब्ध प्रदर्शित संख्या एक सर्वर-प्रारंभ समस्या है, एक अनुपस्थित DISPLAY मान एक क्लाइंट-राउटिंग समस्या है, और एक अनुपस्थित विंडो प्रबंधन एक डेस्कटॉप-पर्यावरण का अनुमान है।

क्यों ब्राउज़र परीक्षणों ने Xvfb का उपयोग किया

ब्राउज़रों ने परिपक्व नाटिव हेडलेस मोड्स प्रदान करने से पहले, निरंतर-एकीकरण मशीनों को अभी भी अपने ग्राफिकल निर्माणों को लॉन्च करने की आवश्यकता थी। Xvfb ने उन निर्माणों के लिए प्रदर्शित करने की आपूर्ति की जिसकी उन्हें अपेक्षा थी। परीक्षण चलाने वालों ने पृष्ठ खोलने, विंडो के साथ बातचीत करने, स्क्रीनशॉट कैप्चर करने और बिना एक भौतिक डेस्कटॉप सत्र के ब्राउज़र बंद करने में सक्षम थे।

Xvfb तब भी उपयोगी रहता है जब कोई एप्लिकेशन ग्राफिकल और हेडलेस मोड में अलग तरह से व्यवहार करता है, जब कोई पुराना उपकरण नेटिव हेडलेस विकल्प नहीं रखता है, या जब कोई GUI निर्भरता X11 पर जोर देती है। यह उन परीक्षणों का भी समर्थन कर सकता है जो एक ब्राउज़र और एक अन्य डेस्कटॉप एप्लिकेशन के बीच फैले होते हैं। वर्चुअल स्क्रीन इन ग्राहकों को एक साझा समन्वय स्थान देती है।

कॉन्फ़िगर की गई ज्यामिति प्रतिक्रियाशील ब्रेकपॉइंट और स्क्रीनशॉट आयामों को प्रभावित करती है। रंग गहराई रेंडरिंग पथों को प्रभावित कर सकती है। फ़ॉन्ट उपलब्धता ऑपरेटिंग-सिस्टम छवि से आती है, न कि स्वयं Xvfb से। पुनरुत्पादक परीक्षण therefore डिस्प्ले कॉन्फ़िगरेशन और चारों ओर के सिस्टम पैकेजों को दृढ़ रखते हैं बजाय इसके कि आभासी सर्वर को पूरे पर्यावरण के रूप में माना जाए।

Xvfb बनाम नेटिव हेडलेस मोड

नैटिव हेडलेस मोड उस एप्लिकेशन द्वारा लागू किया गया है, जैसे कि एक ब्राउज़र जो डेस्कटॉप डिस्प्ले सर्वर से कनेक्ट किए बिना रेंडर कर सकता है। Xvfb इसके बजाय एक डिस्प्ले सर्वर प्रदान करता है ताकि एप्लिकेशन अपने ग्राफिकल मोड में चल सके। दोनों भौतिक मॉनिटर की आवश्यकता को हटाते हैं, लेकिन वे अलग-अलग परतों पर ऐसा करते हैं।

स्वदेशी हेडलेस मोड आमतौर पर कम पृष्ठभूमि प्रक्रियाओं की आवश्यकता करता है और पैकेज करना आसान होता है। Xvfb के तहत एक ग्राफिकल ब्राउज़र पुराने संस्करणों, एक्सटेंशन, डायलॉग या इंटीग्रेशन के साथ संगतता के लिए उपयोगी हो सकता है जो एक विंडो वाले वातावरण की अपेक्षा करते हैं। आधुनिक ब्राउज़र परियोजनाओं ने कई व्यवहारिक मतभेदों को संकुचित किया है, फिर भी टीमों को यह सत्यापित करना चाहिए कि उनके परीक्षण वास्तव में कौन-कौन से विशेषताओं का उपयोग करते हैं।

आवश्यक एप्लिकेशन व्यवहार के आधार पर चुनें। यदि समर्थन किया गया हेडलेस मोड पृष्ठ को रेंडर करता है, डाउनलोड संभालता है, स्क्रीनशॉट कैप्चर करता है, और कार्यप्रवाह के लिए आवश्यक APIs को उजागर करता है, तो यह सरल स्थानीय विकल्प है। यदि किसी निर्भरता को X11 की आवश्यकता है या ग्राफिकल बिल्ड का व्यवहार मौलिक रूप से भिन्न है, तो Xvfb उस अंतर को पुल कर सकता है। एक प्रबंधित रिमोट ब्राउज़र स्थानीय डिस्प्ले निर्णय को क्लाइंट मशीन से पूरी तरह हटा देता है।

xvfb द्वारा हल न किए गए सीमाएँ

Xvfb भौतिक GPU नहीं बनाता है। WebGL सॉफ़्टवेयर रेंडरिंग का उपयोग कर सकता है या उम्मीद की गई ग्राफ़िक्स पुस्तकालयों के अनुपस्थित होने पर असफल हो सकता है। यह फ़ॉन्ट, ऑडियो उपकरण, कैमरे, D-Bus सेवाएँ, एक विंडो प्रबंधक, या एक डेस्कटॉप सत्र स्थापित नहीं करता है। उन सभी अनुमानों को स्वतंत्र रूप से प्रदान या हटाने की आवश्यकता है।

Xvfb भी ब्राउज़र ऑटोमेशन को पहचानना कठिन नहीं बनाता। ब्राउज़र की अंगुलियों के निशान, नेटवर्क पहचान, ऑटोमेशन गुण, और अनुरोध व्यवहार अलग-अलग चिंताएँ बनी रहती हैं। एक आभासी डिस्प्ले स्क्रीन और ग्राफिक्स संकेतों को प्रभावित कर सकता है, लेकिन यह एक एंटी-डिटेक्शन सिस्टम नहीं है। इसे एक के रूप में मानना गलत सुरक्षा धारणाओं की ओर ले जाता है।

The वर्तमान X.Org दस्तावेज़ीकरण सूची आम प्लेटफार्म X सर्वर और क्लाइंट पारिस्थितिकी को कवर करता है। जब एक परीक्षण बुनियादी चित्रण के बाहर विफल होता है, तो वह पारिस्थितिकी संदर्भ महत्वपूर्ण होता है। प्रमाण के बिना देरी बढ़ाने के बजाय, ब्राउज़र लॉग, Xvfb लॉग, स्थापित पुस्तकालयों, फोंट, प्रक्रिया स्वामित्व, और डिस्प्ले अनुमति की जांच करें।

सीआई और कंटेनर्स के लिए संचालन संबंधी मार्गदर्शन

प्रत्येक समानांतर श्रमिक के लिए एक अद्वितीय डिस्प्ले संख्या आवंटित करें या एक.wrapper का उपयोग करें जो द्वितीयक सर्वर का चयन करता है। परिणामों को डिफॉल्ट पर निर्भर न करने के लिए कॉन्फ़िगरेशन में स्क्रीन ज्यामिति और रंग गहराई को ठीक करें। ग्राहकों से पहले सर्वर शुरू करें और जब काम समाप्त हो जाए तो उसे रोकें। X सर्वर और अनुप्रयोग दोनों से लॉग रखें, क्योंकि किसी भी पक्ष द्वारा एक असफल कनेक्शन को समझाया जा सकता है।

ऐसी पहुँच नियंत्रणों का उपयोग करें जो वातावरण के लिए उपयुक्त हों। X सर्वर पहुँच नियंत्रण को व्यापक रूप से अक्षम करना, साझा होस्ट पर अन्य प्रक्रियाओं के लिए डिस्प्ले को उजागर कर सकता है। कार्यभार को अलग रखें, कनेक्ट करने वालों की अनुमति को प्रतिबंधित करें, और कंटेनर सीमा को एकमात्र सुरक्षा निर्णय के रूप में न मानें। स्क्रीनशॉट और फ्रेमबफर्स में संवेदनशील एप्लिकेशन डेटा हो सकता है, इसलिए उन्हें केवल उतनी देर तक बनाए रखें जितनी देर तक परीक्षण की आवश्यकता हो।

ब्राउज़र स्वचालन के लिए, चित्र या ब्राउज़र अपडेट के बाद एक छोटे पृष्ठ मैट्रिक्स की पुष्टि करें: साधारण HTML, JavaScript रेंडरिंग, कैनवास, WebGL जहां आवश्यक हो, फ़ॉन्ट, डाउनलोड, संवाद, और स्क्रीनशॉट। केवल उन व्यवहारों पर स्थानीय हेडलेस और Xvfb की तुलना करें जो महत्वपूर्ण हैं। यदि स्थानीय डिस्प्ले रखरखाव एप्लिकेशन लॉजिक की तुलना में अधिक प्रयास लेता है, तो एक प्रबंधित क्लाउड ब्राउज़र उस अवसंरचना को परीक्षण रनर से बाहर ले जा सकता है।

Xvfb, नेटिव हेडलेस, या क्लाउड का चयन करना

सबसे छोटे शर्त या कॉन्फ़िगरेशन से शुरू करें जो साबित करता है कि कार्य आगे बढ़ सकता है। मानक-संगत ब्राउज़र व्यवहार को बनाए रखें, फिर प्रोफ़ाइल नियंत्रण केवल वहां जोड़ें जहां कार्यप्रवाह को उनकी आवश्यकता होती है। ब्राउज़र के निर्माण और प्रासंगिक स्थिति को रिकॉर्ड करें ताकि बाद में भिन्नताओं को समझाया जा सके। एक पुनरावृत्त अवलोकन उस व्यापक दावे से अधिक उपयोगी है कि एक पृष्ठ, फ्रेम, प्रदर्शन, या फिंगरप्रिंट बस "पूर्ण" या "सुरक्षित" है।

  • अगले कार्य को परिभाषित करें। सक्रियता के निष्कर्ष निकालने के बाद, कृपया सुनिश्चित करें कि सभी प्रारंभिक सेटअप पूर्ण हो चुके हैं, फिर आगे बढ़ें। 1. सभी आवश्यक उपकरण एकत्र करें। 2. सुनिश्चित करें कि आप इंटरनेट से जुड़े हैं। 3. उपयोगकर्ता इंटरफेस पर जाएँ और लॉगिन करें। अब आप अगले कदम पर आगे बढ़ सकते हैं।
  • एक प्रदर्शनीय संकेत चुनें। एक ब्राउज़र प्रॉपर्टी, जीवनचक्र स्थिति, तत्व की स्थिति, या रेंडरिंग परिणाम को प्राथमिकता दें जो सीधे उस क्रिया का समर्थन करती है।
  • I'm sorry, but it seems you haven't provided the text to translate. Please provide the text you would like to have translated into Hindi. ब्राउज़र, ऑपरेटिंग-सिस्टम, स्क्रीन, संदर्भ, ग्राफिक्स, और सत्र सेटिंग्स को एक संभावित वातावरण का वर्णन करना चाहिए।
  • सामान्य अनुप्रयोग के व्यवहार को मान्य करें। एक गोपनीयता या स्वचालन हस्तक्षेप API या घटक को चुपचाप नहीं तोड़ना चाहिए जिसे यह बदलता है।
  • नैदानिक साक्ष्य एकत्र करें। जब जांच विफल होती है, तो संबंधित URL, राज्य, कंसोल संदेश और कॉन्फ़िगरेशन नामों को सहेजें।

निष्कर्ष

Xvfb एक मेमोरी-समर्थित X11 सर्वर है जो ग्राफिकल Linux अनुप्रयोगों को बिना भौतिक डिस्प्ले हार्डवेयर के चलाने की अनुमति देता है। यह X11 की अपेक्षा करने वाले संगतता परीक्षण और GUI कार्यभार के लिए उपयोगी रहता है, जबकि मूल हेडलेस मोड अक्सर समर्थित ब्राउज़र कार्यों के लिए सरल होते हैं। विश्वसनीय उपयोग पinned स्क्रीन सेटिंग्स, प्रक्रिया पृथक्करण, और फोंट, ग्राफिक्स, और डेस्कटॉप सेवाओं की अलग-अलग मान्यता पर निर्भर करता है।

The Scrapeless Scraping Browser दस्तावेज़ यह बताता है कि प्रबंधित ब्राउज़र सत्र कैसे कॉन्फ़िगर किए जाते हैं, जबकि स्क्रैपिंग ब्राउज़र उत्पाद अवलोकन ब्राउज़र ऑटोमेशन सतह का वर्णन करता है। ये संसाधन अधिकृत कार्यप्रवाह में अवधारणा को लागू करने के लिए उत्पाद संदर्भ प्रदान करते हैं।

स्थानीय वर्चुअल डिस्प्ले के पार जाने के लिए तैयार हैं?

ब्राउज़र रेंडरिंग, सत्र कॉन्फ़िगरेशन, और स्वचालन अवसंरचना को एक प्रबंधित क्रोमियम वातावरण में स्थानांतरित करें।

आज ही साइन अप करें और पाएं $5 की मुफ्त क्रेडिटकोई क्रेडिट कार्ड की आवश्यकता नहीं है.

अपने $5 क्रेडिट का दावा करें →

अक्सर पूछे जाने वाले प्रश्न

क्या Xvfb एक हेडलेस ब्राउज़र है?

नहीं। Xvfb एक आभासी X11 डिस्प्ले सर्वर है, जबकि ब्राउज़र एक अलग क्लाइंट प्रक्रिया है जो ग्राफिकल या नेटिव हेडलेस मोड में चल सकती है।

क्या Xvfb को GPU की आवश्यकता है?

नहीं। Xvfb मेमोरी में एक फ्रेमबफर बनाए रख सकता है बिना डिस्प्ले हार्डवेयर के, हालांकि उन एप्लिकेशनों के लिए जो त्वरित ग्राफिक्स की आवश्यकता होती है, अतिरिक्त समर्थन और सत्यापन की आवश्यकता होती है।

क्या Xvfb में एक विंडो प्रबंधक शामिल है?

नं। Xvfb X सर्वर प्रदान करता है; एक कार्यप्रवाह जो विंडो प्रबंधन या डेस्कटॉप सेवाओं पर निर्भर करता है, उन्हें अलग से प्रदान करना चाहिए।

जब किसी टीम को नेटिव हेडलेस मोड पसंद करना चाहिए?

स्थानीय बुनियादी ढांचे और प्रक्रिया प्रबंधन को कम करने के लिए प्राथमिकता प्रधानहेडलेस मोड का उपयोग करें जब यह आवश्यकブラウザ सुविधाओं का समर्थन करता है और सही परिणाम उत्पन्न करता है।

संदर्भ