xvfb、xephyr和xvnc的python包装器
PyVirtualDispla的Python项目详细描述
pyvirtualdisplay是用于Xvfb、Xephyr和Xvnc
- 链接:
基本用法
启动xephyr:
from pyvirtualdisplay import Display xephyr=Display(visible=1, size=(320, 240)).start()
用xvfb创建xmessage的屏幕截图:
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()
安装
一般
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
卸载
pip uninstall pyvirtualdisplay
用法
图形用户界面测试
在低分辨率上测试gnumeric:
#-- 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() #-#
图像:
截图
在后台创建xmessage的屏幕截图:
#-- 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() #-#
图像:
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
有些程序需要一个功能性的xauthority文件。pyvirtualdisplay罐 生成一个并设置适当的环境变量 use_xauth=True到Display构造函数。不过,请注意 功能需要安装xauth,否则 pyvirtualdisplay.xauth.NotFoundError已筹集。