2012-07-27 21 views
6

¿Es posible usar GTK sin una pantalla X válida?Uso de GTK sin PANTALLA

Quiero usar GTK con Webkit, pero por ahora solo estoy interesado en usar las funciones DOM para experimentar, así que no tengo necesidad de mostrar nada en realidad. Es muy conveniente para mí hacer esto a través de una conexión SSH en un servidor que no tiene pantalla.

Pero, sin una variable DISPLAY medio ambiente, gtk_init() simplemente un error con el mensaje:

Gtk-WARNING **: cannot open display:

¿Hay alguna forma de utilizar GTK sin pantalla?

Respuesta

5

Hay un servidor X llamado Xvfb que proporciona un DISPLAY válido y envía la salida a un archivo en lugar de al hardware de gráficos. Puede ejecutar eso en la misma máquina que ejecuta su cliente gtk, y gtk podrá hacer lo que quiera sin utilizar el ancho de banda de su red. Como beneficio adicional, puede leer el búfer de salida de Xvfb del archivo, lo que le permite obtener una captura de pantalla de lo que estaría en la pantalla.

+0

Xvnc se puede utilizar con un efecto similar. La diferencia es que Xvnc permite que vncviewer interactúe completamente con la pantalla. – TheAmigo

1

Si bien no es una respuesta directa a su pregunta, creo que lo que está buscando es un navegador web "sin cabeza". Hay uno basado en WebKit, llamado PhantomJS. No requiere ninguna pila GUI, y puede experimentar libremente con DOM allí.

1

Gtk + 3 (bueno, GDK) ahora es compatible con múltiples backends, pero aún requiere X11, Wayland o Broadway (servidor HTML5 experimental) para ejecutarse.

DISPLAY no necesita necesariamente hardware real; puede ejecutar un servidor X falso como Xvfb o Xvnc.

0

Me alegro de haber leído los documentos más profundamente y no solo creí esta respuesta.

gtk_init_check()

Esta función hace el mismo trabajo que gtk_init() con un solo cambio: no termina el programa si el sistema de ventanas no se puede inicializar. En cambio, devuelve FALSE en caso de error.