2011-08-03 6 views
5

내 SSH 서버에서 webkit2png을 사용할 때 "X 서버에 연결할 수 없습니다 : 0.0" Webkit2png는 다음과 같은 PNG 스크린 샷을 만드는 패키지입니다. html 페이지. 내 컴퓨터에서는 완벽하게 작동했지만 SSH 서버에서는 작동하지 않았습니다. 그것은 PNG 이미지를 만들지 않습니다. 내가이 명령을 수행 할 때Python 프로그램을 사용하여 "X 서버에 연결할 수 없습니다"오류가 발생했습니다.

그것은에서만 작동 :

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

을하지만은 유닉스 명령어, 그리고 파이썬 코드입니다.

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() 

감사합니다!

+0

적어도 링크를 xvfb 유닉스 명령을 실행하고 설정하는 방법에 대한 문서 보았다 경우 우리에게 얘기를해야합니다 xserver와 그들이 한 말? – agf

답변

2

당신은`webkit2png` 소스, 웹 사이트, 문서에 첫 번째 (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:]) 
관련 문제