Come posso eseguire Firefox su CentOS senza display? [chiuso]


16

Sto cercando di eseguire il browser della GUI di Firefox sul server CentOS senza testa per eseguire alcuni test Web.

Non ho bisogno di vedere l'output grafico, perché utilizzo l' API del server Selenium per controllare l'input del browser e controllare l'output.

L'installazione è stata testata con successo su computer desktop Mac. Tuttavia, non riesce a funzionare sul mio server VPS CentOS senza testa con il seguente messaggio "Errore: nessuna visualizzazione specificata". (Il che ha senso, dal momento che è solo un server seduto su un rack da qualche parte.)

Come posso far funzionare Firefox senza display, così Selenium sarà in grado di interagire con esso? Oppure - più in generale - in che modo le persone eseguono applicazioni solo GUI su un server Linux quando non c'è display?

Ho notato che Firefox ha questa opzione da riga di comando:

X11 options
  --display=DISPLAY  X display to use

Sfortunatamente non so nulla di X11 o dei display in CentOS, quindi non so cosa specificare sulla riga di comando o se questo sarebbe d'aiuto.


4
Trovo molto strano che una domanda che è stata recitata 13 volte sia chiusa come "troppo localizzata".
harshath.jr

1
Esattamente, sto avendo problemi simili e sia la domanda che la risposta mi sono state utili. Dovrebbe sicuramente essere riaperto nel caso in cui qualcuno trovi un'altra soluzione.
Marek Rost,

Risposte:


18

Usa Xvfb. Ti dà un server X che non richiede la connessione a un display fisico.

(Quindi, su CentOS, faresti qualcosa del tipo "yum install xorg-x11-server-Xvfb".)

È quindi possibile avviarlo sul display ": 1" con il comando "/ percorso / su / quale / installato / Xvfb: 1 schermo 0 1024x768x24 &". Questo creerà uno schermo con risoluzione 1027x768 e profondità 24. L'uso di "&" farà eseguire il comando in background.

Prima di avviare Firefox, è necessario rendere accessibile lo schermo, il che viene fatto utilizzando il comando Esporta, ad es. "export DISPLAY =: 1", indicando qualunque host sia appropriato.


Wow! Grazie! Funziona, anche se sto ricevendo MOLTE strane segnalazioni di errore dal display. Pubblicherò una nuova domanda su quelli. In conclusione, nonostante i messaggi, funziona e restituisce i dati di cui ho bisogno. Grazie mille, questo è solo l'aiuto di cui avevo bisogno.
Eric,

A proposito, come posso "spegnere" il display Xvfb quando ho finito con tutto?
Eric,

Dovresti essere in grado di uccidere il processo. Se vuoi diventare più sofisticato, puoi cercare di impostare gli script di avvio / arresto (se il pacchetto non lo fornisce già; potrebbe: cercare in /etc/init.d qualsiasi script xvfb).
cjc,

1
Capito grazie. Ho pubblicato una domanda di follow-up riguardante i messaggi di informazioni / errore che sto vedendo, nel caso in cui tu stia cercando altri punti reputazione :-) serverfault.com/questions/363914/…
Eric

Questa risposta è corretta ma DEVI tenere presente che il exportcomando DEVE essere impostato sulla stessa sessione terminale del terminale su cui
eseguirai il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.