Skip to content
Python wrapper for Xvfb, Xephyr and Xvnc
Find file
Latest commit 2fd6bbe ponty unset DISPLAY var if necessary ( fix #14 )


pyvirtualdisplay is a python wrapper for Xvfb, Xephyr and Xvnc

  • python wrapper
  • supported python versions: 2.6, 2.7, 3.2, 3.3
  • back-ends: Xvfb, Xephyr, Xvnc


at least one back-end should be installed

Known problems:
  • only a few back-end options are supported
Possible applications:
  • GUI testing
  • automatic GUI screenshot

Basic usages

Start Xephyr:

from pyvirtualdisplay import Display
xephyr=Display(visible=1, size=(320, 240)).start()

Create screenshot of xmessage with Xvfb:

from easyprocess import EasyProcess
from pyvirtualdisplay.smartdisplay import SmartDisplay
with SmartDisplay(visible=0, bgcolor='black') as disp:
    with EasyProcess('xmessage hello'):
        img = disp.waitgrab()



  • install Xvfb or Xephyr or Xvnc.

  • install pip

  • optional: pyscreenshot and PIL should be installed for smartdisplay submodule

  • install the program:

    # as root
    pip install pyvirtualdisplay


sudo apt-get install python-pip
sudo apt-get install xvfb
sudo apt-get install xserver-xephyr
sudo apt-get install vnc4server
sudo pip install pyvirtualdisplay
# optional
sudo apt-get install python-imaging
sudo apt-get install scrot
sudo pip install pyscreenshot
# optional for examples
sudo pip install entrypoint2


# as root
pip uninstall pyvirtualdisplay
Something went wrong with that request. Please try again.