GtkWarning: no se pudo abrir la pantalla

Estoy tratando de ejecutar una araña en un vps (usando scrapyjs que usa python-gtk2). Al ejecutar la araña me sale el error.

/root/myporj/venv/local/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display 

¿Cómo ejecuto esto en una configuración sin cabeza?

En primer lugar, ¿no especificó si tiene un entorno de escritorio (o X) instalado en su servidor?

Independientemente de eso, puedes lograr una configuración sin cabeza para tu araña usando xvfb :

Xvfb o X virtual framebuffer es un servidor de pantalla que implementa el protocolo del servidor de pantalla X11. A diferencia de otros servidores de pantalla, Xvfb realiza todas las operaciones gráficas en la memoria sin mostrar ningún resultado de pantalla. Desde el punto de vista del cliente, actúa exactamente como cualquier otro servidor de pantalla X, atendiendo solicitudes y enviando eventos y errores, según corresponda. Sin embargo, no se muestra ninguna salida. Este servidor virtual no requiere que la computadora en la que se está ejecutando tenga una pantalla o cualquier dispositivo de entrada.

Primero, instale xvfb en su servidor. Suponiendo que está utilizando apt-get :

 sudo apt-get install xvfb 

Ahora, ejecute el servicio xvfb en un número de pantalla personalizado, como:

 sudo Xvfb :5 

Después de eso, puede ejecutar cualquier aplicación que requiera X dentro de su búfer de marcos virtuales exportando el número de pantalla y ejecutando su aplicación:

 export DISPLAY=:5 run_my_application 

La DISPLAY está configurada solo para la sesión de terminal actual, así que tenga esto en cuenta al implementar la automatización para este paso.

Probablemente ejecutas la aplicación sobre ssh? Entonces, necesita ejecutar el servidor X en la PC local. Si no, debe establecer la variable de entorno DISPLAY correctamente. Recientemente, el comando sudo en Ubuntu no transfiere una variable de entorno. Si ejecuta la aplicación sobre sudo, asegúrese de que $ DISPLAY esté configurado o no.

Adicional

Es un error de pygtk. Su aplicación debe depender de gtk widget.

https://bugs.launchpad.net/ubuntu/+source/software-center/+bug/800574