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
# as root 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__":
Display(visible=1, size=(320, 240)).start()
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
File details
Details for the file PyVirtualDisplay-0.2.1.tar.gz.
File metadata
- Download URL: PyVirtualDisplay-0.2.1.tar.gz
- Upload date:
- Size: 30.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
012883851a992f9c53f0dc6a512765a95cf241bdb734af79e6bdfef95c6e9982
|
|
| MD5 |
a499eda2fc5de6e57d6ea11b397d5835
|
|
| BLAKE2b-256 |
3937f285403a09cc261c56b6574baace1bdcf4b8c7428c8a7239cbba137bc0eb
|