Firefox'u Linux'ta başsız olarak nasıl çalıştırabilirim (yani libgtk-x11-2.0.so.0).


17

Dreamhost barındırma paylaştığım ve Selenium ile kullanmak için Firefox 3.0'ı başsız olarak çalıştırmaya çalışıyorum.

Çalıştırmayı denediğimde ( ~/local/bin/firefox/firefox), aşağıdaki hata mesajını alıyorum:

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

Bu paylaşılan nesne dosyasını gerektirmeden Firefox'u Linux'ta nasıl çalıştırabilirim?

Yanıtlar:


8

Bunun oldukça eski bir soru olduğunu biliyorum, ancak Google tarafından yönlendirildiğim ve yanıtı bulmak için bir süre arama yapmak zorunda kaldığımdan daha yeni bir cevap eklemek istedim.

Firefox 57'den itibaren, yalnızca Firefox'u yükleyerek ve çalıştırarak başsız modda çalışabilirsiniz:

firefox -headless http://test.com/

Firefox dev belgelerine buradan bakın.


Mükemmel - güncel ve kaliteli bir cevap eklediğiniz için teşekkür ederiz; Stack Exchange tam da bunun için tasarlandı.
Paul D.

14

Firefox'u ihtiyaç duyduğu tüm Gtk kütüphaneleri olmadan çalıştıramazsınız, ancak bu kütüphaneleri kurarak kolayca çözülebilir. Normalde Firefox'u bir paket yönetim sistemi üzerinden kurarsınız ve bu gerekli tüm kütüphaneleri alır.

Firefox'u normal olarak çalıştırmak için, bir X sunucusuna (uygulamanın içeriği oluşturmak için kullandığı kütüphaneler olan Gtk gibi öğelerin aksine, pencereleri ve içeriğini görüntüleyen kısım) ihtiyacınız vardır. Bu genellikle bir sunucuda çalıştırmayacağınız bir şey. Firefox'ta X sunucusu olmadan yapabileceğiniz çok az şey var, Selenyum'un onlardan biri olup olmadığını bilmiyorum.

Firefox'u sunucunuzda çalıştırmak için “sanal” bir X sunucusu çalıştırın. Basit bir Xvfb (olup hac irtual f Rame b Uffer X sunucu). Bu öyle X.org sunucusu dağılımı . Örnek kullanım:

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

1
Mükemmel, şerefe Gilles, bu oldu. Bu makaleleri Xvfb'yi çalıştırmak için yararlı buldum: alittlemadness.com/2008/03/05/running-selenium-headless ve blog.kabisa.nl/2010/05/24/…
Paul D. Waite

7

Yapamazsın; X ve Gtk + istemci kütüphaneleriyle bağlantılıdır ve onları onlar olmadan inşa etmenin bile mümkün olduğunu sanmıyorum.

Firefox'un başsız versiyonunda bile, GTK + gerekli .


2

Selenyum bir GUI test aracı olduğundan, X olmadan çalışabileceğine inanmakta zorlanırdım.

Bu yüzden en iyi tahminim, kafasız sunucunuzun Gilles tarafından önerilenler gibi bir X kurulumu gerektirdiğidir. Bir dizi benzer alternatif var.


2

Yapabilirsin

  • bir sanal çerçevede bir Firefox kullanın: xvfb-run -a firefox
  • kullanmak SlimerJS xcfb (a gömülü Gecko Firefox / render motoru),
  • WebDit sizin için uygunsa , PhantomJS'yi görüntülemeye ve GhostDriver aracılığıyla selenyum desteğine gerek kalmadan gömülü WebKit olarak kullanın .

Bence 'xvfb-run -a ...' demek ve xvfb değil mi?
Kutzi

Teşekkürler :-) Belki bu arada değişti?
Ocak’ta
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.