15 votos

¿Cómo puedo ejecutar Firefox en CentOS sin pantalla?

Estoy tratando de utilizar el Servidor Selenium para hacer algunas pruebas web.... si usted no está familiarizado con el Selenium, la forma en que funciona es que mi web app (en este caso, un script PHP) utiliza el Selenium excelente API, que a su vez llama en Firefox para interactuar con las páginas web. A continuación, el Selenium recoge los resultados de Firefox y vuelve de nuevo a mi aplicación. Todo lo que acabo de describir, está funcionando al 100% perfectamente en mi dev sever (mi Mac).

Ahora que sé que todas las piezas están en su lugar y mi código funciona realmente, tengo que recoger todo y hacer que se ejecute en mi servidor en directo, que es un Linux basado en VPS corriendo CentOS. He sido capaz de instalar firefox y tengo el servidor Selenium un gran trabajo, pero firefox no se ejecutan porque dice "Error: no hay de visualización especificado." (Lo cual tiene sentido, ya que sólo un servidor sentado en un estante en algún lugar.) ¿Cómo puedo obtener firefox para ejecutar sin una pantalla, por lo que el Selenium será capaz de interactuar con él? (O, más directamente: ¿cómo la gente corre de Selenium en un servidor linux cuando no hay nada en pantalla?)

Por lo que vale veo que firefox tiene esta opción de línea de comandos:

X11 options
  --display=DISPLAY  X display to use

Por desgracia, yo no sé nada acerca de X11 o muestra bajo CentOS, así que no sé qué especificar en la línea de comandos, o si esto es de ayuda.

1voto

cjc Puntos 17092

El Uso De Xvfb. Se le da un servidor de X que no requiere conexión a una pantalla física.

(Así, en CentOS, que harías algo así como "yum install xorg-x11-server-Xvfb".)

A continuación, puede empezar en la pantalla ":1" con el comando "/ruta/a/que/instalado/Xvfb :1-pantalla de 0 1024x768x24 &". Esto creará una pantalla con resolución de 1027x768 y profundidad de 24. Uso de la "y" va a hacer que el comando ejecutar en segundo plano.

Antes de lanzar Firefox, usted necesita para hacer que la pantalla de ruedas, que se realiza mediante el comando Export - es decir. "export DISPLAY=:1", que apunta a cualquier host es la adecuada.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: