2011-08-03 15 views
5

Cuando uso webkit2png en mi servidor SSH, aparece el error: "No se puede conectar con el servidor X: 0.0" Webkit2png es un paquete que hace capturas de pantalla PNG de htmlpages. En mi computadora funcionó perfectamente, pero en el servidor SSH no; no crea una imagen PNG.Error "No se puede conectar al servidor X" con el programa Python webkit2png

sólo funciona cuando hago este comando:

xvfb-run -a -s "-screen 0 640x480x16" python webkit2pngProgram.py 

Pero eso es un comando de Unix, y no el código Python.

El código webkit2pngProgram:

from webkit2png import WebkitRenderer, init_qtgui 
from PyQt4.QtCore import QTimer 

def renderer_func(): 
    renderer = WebkitRenderer() 
    renderer.width = 550 
    renderer.height = 500 
    renderer.timeout = 10 
    renderer.wait = 1 
    renderer.format = "png" 
    renderer.grabWholeWindow = False 
    y = Program() 
    outfile = open("/image.png", "w") 

    renderer.render_to_file("/test.html", file=outfile) 
    outfile.close() 

def start(): 
    app = init_qtgui() ###### => STUCKS HERE 
    QTimer.singleShot(0, renderer_func) 
    app.exec_() 

if __name__ == "__main__": 
    start() 

Gracias por su ayuda!

+0

Al menos un enlace a la fuente 'webkit2png', página web, documentos, y nos dicen si uno mira en la documentación para cómo establecer el xserver y lo que dijeron? – agf

Respuesta

2

es necesario ejecutar el comando UNIX xvfb primera (X Virtual Frame Buffer)

server_num = int(os.getpid() + 1e6) 
newArgs = ["xvfb-run", "--auto-servernum", "--server-num", str(server_num), "--server-args=-screen 0, %dx%dx24" % (1024, 768), sys.argv[0], '-g','1024', '768'] 
os.execvp(newArgs[0],newArgs[1:]) 
Cuestiones relacionadas