python wrapper for Xvfb, Xephyr and Xvnc
Project description
pyvirtualdisplay is a python wrapper for Xvfb, Xephyr and Xvnc
- Links:
- Features:
- 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() img.show()
Installation
General
Ubuntu 14.04
sudo apt-get install python-pip sudo apt-get install xvfb xserver-xephyr vnc4server sudo pip install pyvirtualdisplay # optional sudo apt-get install python-pil scrot sudo pip install pyscreenshot # optional for examples sudo pip install entrypoint2
Uninstall
pip uninstall pyvirtualdisplay
Usage
GUI Test
Testing gnumeric on low resolution:
#-- include('examples/lowres.py') --# from easyprocess import EasyProcess from pyvirtualdisplay import Display if __name__ == "__main__": # start Xephyr Display(visible=1, size=(320, 240)).start() # start Gnumeric EasyProcess('gnumeric').start() #-#
Image:
Screenshot
Create screenshot of xmessage in background:
#-- include('examples/screenshot3.py') --# ''' using :keyword:`with` statement ''' from easyprocess import EasyProcess from pyvirtualdisplay.smartdisplay import SmartDisplay if __name__ == "__main__": with SmartDisplay(visible=0, bgcolor='black') as disp: with EasyProcess('xmessage hello'): img = disp.waitgrab() img.show() #-#
Image:
vncserver
#-- include('examples/vncserver.py') --# ''' Example for Xvnc backend ''' from easyprocess import EasyProcess from pyvirtualdisplay.display import Display if __name__ == "__main__": with Display(backend='xvnc', rfbport=5904) as disp: with EasyProcess('xmessage hello') as proc: proc.wait() #-#
xauth
Some programs require a functional Xauthority file. PyVirtualDisplay can generate one and set the appropriate environment variables if you pass use_xauth=True to the Display constructor. Note however that this feature needs xauth installed, otherwise a pyvirtualdisplay.xauth.NotFoundError is raised.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
PyVirtualDisplay-0.2.4.tar.gz
(32.5 kB
view hashes)
Built Distribution
Close
Hashes for PyVirtualDisplay-0.2.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 877f9ac9b8344d4bb8f6f4ec0db78db5dabb8f1240b692989e40a330d6fadd6e |
|
MD5 | c6dcac0f4a6f6e5917e71c30364284af |
|
BLAKE2b-256 | cfadb15f252bfb0f1693ad3150b55a44a674f3cba711cacdbb9ae2f03f143d19 |