Jak sprawić, by Python, QT i Webkit działały na bezgłowym serwerze?

Mam serwer Linux Debiana, którego używam do różnych rzeczy. Chcę, aby była w stanie wykonywać niektóre zadania, które muszę wykonywać regularnie.

Ten kod może byćznaleźć tutaj.

import sys  
from PyQt4.QtGui import *  
from PyQt4.QtCore import *  
from PyQt4.QtWebKit import *  

class Render(QWebPage):  
  def __init__(self, url):  
    self.app = QApplication(sys.argv, False)  # Line updated based on mata's answer
    QWebPage.__init__(self)  
    self.loadFinished.connect(self._loadFinished)  
    self.mainFrame().load(QUrl(url))  
    self.app.exec_()  

  def _loadFinished(self, result):  
    self.frame = self.mainFrame()  
    self.app.quit()  

Prosty test mógłby wyglądać następująco:

url = 'http://example.com'
print Render(url).frame.toHtml()

Podczas wywołania konstruktora umiera z tą wiadomością (jest drukowany na standardowe wyjście, a nie nieprzechwycony wyjątek).

: cannot connect to X server 

Jak mogę używać Pythona (2.7), QT4 i Webkita na serwerze bezgłowym? Nic nie musi być wyświetlane, więc mogę modyfikować dowolne ustawienia lub cokolwiek, co trzeba zmienić.

Zajrzałem do alternatyw, ale to jest najlepsze rozwiązanie dla mnie i moich projektów. Gdybym musiał zainstalować serwer X, jak mogę to zrobić przy minimalnym obciążeniu?

questionAnswers(4)

yourAnswerToTheQuestion