मैं लिनक्स पर फ़ायरफ़ॉक्स को बिना सिर के (यानी libgtk-x11-2.0.so.0 की आवश्यकता के बिना) कैसे चला सकता हूँ?


17

मुझे ड्रीमहोस्ट साझा होस्टिंग मिल गई है, और मैं सेलेनियम के साथ उपयोग के लिए फ़ायरफ़ॉक्स 3.0 को मुख्य रूप से चलाने की कोशिश कर रहा हूं।

जब मैं इसे चलाने की कोशिश करता हूं ( ~/local/bin/firefox/firefox), मुझे निम्न त्रुटि संदेश मिलता है:

error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

मैं इस साझा ऑब्जेक्ट फ़ाइल की आवश्यकता के बिना लिनक्स पर फ़ायरफ़ॉक्स कैसे चला सकता हूं?

जवाबों:


8

मुझे पता है कि यह एक पुराना सवाल है, लेकिन मैं एक और हालिया उत्तर जोड़ना चाहता था क्योंकि मुझे Google द्वारा यहां निर्देशित किया गया था और उत्तर खोजने के लिए थोड़ी देर खोज करनी थी।

फ़ायरफ़ॉक्स 57 के रूप में, आप फ़ायरफ़ॉक्स स्थापित करके और चलाकर केवल हेडलेस मोड में चला सकते हैं:

firefox -headless http://test.com/

फ़ायरफ़ॉक्स देव डॉक्स यहाँ देखें।


उत्कृष्ट - एक अप-टू-डेट, उच्च गुणवत्ता वाले उत्तर को जोड़ने के लिए धन्यवाद; ठीक यही स्टैक एक्सचेंज के लिए डिज़ाइन किया गया है।
पॉल डी। वेट

14

आप सभी Gtk पुस्तकालयों की आवश्यकता के बिना फ़ायरफ़ॉक्स नहीं चला सकते हैं, लेकिन यह आसानी से पुस्तकालयों को स्थापित करके हल किया जाता है। आम तौर पर आप एक पैकेज प्रबंधन प्रणाली के माध्यम से फ़ायरफ़ॉक्स स्थापित करेंगे और यह सभी आवश्यक पुस्तकालयों में खींचेगा।

फ़ायरफ़ॉक्स को सामान्य रूप से चलाने के लिए, आपको एक एक्स सर्वर की आवश्यकता होती है (यह वह भाग है जो विंडोज़ और उनकी सामग्री को प्रदर्शित करता है, जैसा कि जीटीके जैसी चीजों के विपरीत है जो कि पुस्तकालय हैं जो कि सामग्री के निर्माण के लिए उपयोग में आता है)। यह एक ऐसी चीज है जिसे आप आमतौर पर सर्वर पर नहीं चलाते हैं। बहुत कम चीजें हैं जो आप फ़ायरफ़ॉक्स में बिना एक्स सर्वर के कर सकते हैं, मुझे नहीं पता कि सेलेनियम उनमें से एक है।

अपने सर्वर पर फ़ायरफ़ॉक्स चलाने के लिए, "वर्चुअल" एक्स सर्वर चलाएं। एक साधारण Xvfb ( v irtual f rame b uffer X सर्वर) है। यह X.org सर्वर वितरण में है । नमूना उपयोग:

Xvfb :19 -screen 0 1024x768x16 &
export DISPLAY=:19
firefox &

1
बहुत बढ़िया, चीयर्स गाइल्स, कि यह किया है। मैंने इन लेखों को Xvfb चलाने के लिए भी उपयोगी पाया: alittlemadness.com/2008/03/05/running-selenium-headless , और blog.kabisa.nl/2010/05/24/…
पॉल डी।

7

तुम नहीं कर सकते; यह X और Gtk + क्लाइंट लाइब्रेरी के साथ जुड़ा हुआ है, और मुझे नहीं लगता कि उनके बिना इसे बनाना भी संभव है।

यहां तक ​​कि फ़ायरफ़ॉक्स हेडलेस संस्करण में, जीटीके + अभी भी आवश्यक है


2

चूंकि सेलेनियम एक जीयूआई परीक्षण उपकरण है, इसलिए मुझे यह विश्वास करना मुश्किल होगा कि यह एक्स के बिना काम कर सकता है।

तो मेरा सबसे अच्छा अनुमान है कि आपके हेडलेस सर्वर को एक्स इंस्टालेशन की आवश्यकता होती है जैसे कि गिल्स द्वारा सुझाए गए। इसी तरह के कई विकल्प हैं।


2

आप ऐसा कर सकते हैं

  • वर्चुअल फ़्रेमबफ़र में फ़ायरफ़ॉक्स का उपयोग करें: xvfb-run -a firefox
  • SlimerJS का उपयोग करें (एक एम्बेडेड छिपकली फ़ायरफ़ॉक्स से / प्रतिपादन इंजन) xcfb साथ,
  • उपयोग PhantomJS के माध्यम से एक प्रदर्शन और सेलेनियम समर्थन की आवश्यकता के बिना एम्बेडेड वेबकिट के रूप में GhostDriver अगर वेबकिट आप के लिए ठीक है -।

मुझे लगता है कि आपका मतलब 'xvfb-run -a ...' है और xvfb नहीं है, है ना?
कुटजी

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