title: How to connect Python to VirtualBox using RDP or RFB?
body: <p>Is there a way to access the screen of a stock version of a headless <code>VirtualBox</code> 4.x remotely using <code>RDP</code> with Python or access it using the VNC protocol?</p>
  
  <p>I want to be able to access the boot screen (F12), too, so I cannot boot a VNC server in the Guest as the Guest is not yet booted.</p>
  
  <p>Note that I already have an <code>RFB</code> version in pure <code>Python</code>, however stock <code>VirtualBox</code> seems not to support <code>VNC</code> style remote connections, OTOH I somehow was unable to find a <code>Python</code> <code>RDP</code> library, sadly.</p>
  
  <p>What I found so far but I do not want to use:</p>
  
  <ul>
  <li>A Java RDP client, however I do not want to switch horses, so I want to keep it Python</li>
  <li><code>VirtualBox API</code> seems to provide Python with access to the framebuffer, but I am not completely sure.  However this then is bound to VirtualBox only, an RDP library (or letting VB talk RFB) would be more generic.</li>
  </ul>
  
  <p>Notes:</p>
  
  <ul>
  <li>So what I need either is a way to add <code>VNC</code>/<code>RFB</code> support to an original <code>VirtualBox</code> (<code>.vbox-extpack</code>?)</li>
  <li>or find some <code>RDP</code> library written in pure <code>Python</code>.</li>
  <li>It must be available on at least all platforms for which VirtualBox is available.</li>
  </ul>
  
  <p>If neither is possible, I think I will try the VirtualBox API in Python.</p>