import logging from pyvirtualdisplay.abstractdisplay import AbstractDisplay log = logging.getLogger(__name__) PROGRAM = "Xvfb" class XvfbDisplay(AbstractDisplay): """ Xvfb wrapper Xvfb is an X server that can run on machines with no display hardware and no physical input devices. It emulates a dumb framebuffer using virtual memory. """ def __init__( self, size=(1024, 768), color_depth=24, bgcolor="black", use_xauth=False, fbdir=None, dpi=None, retries=10, extra_args=[], manage_global_env=True, ): """ :param bgcolor: 'black' or 'white' :param fbdir: If non-null, the virtual screen is memory-mapped to a file in the given directory ('-fbdir' option) :param dpi: screen resolution in dots per inch if not None """ self._screen = 0 self._size = size self._color_depth = color_depth self._bgcolor = bgcolor self._fbdir = fbdir self._dpi = dpi AbstractDisplay.__init__( self, PROGRAM, use_xauth=use_xauth, retries=retries, extra_args=extra_args, manage_global_env=manage_global_env, ) def _check_flags(self, helptext): pass def _cmd(self): cmd = [ dict(black="-br", white="-wr")[self._bgcolor], "-nolisten", "tcp", "-screen", str(self._screen), "x".join(map(str, list(self._size) + [self._color_depth])), ] if self._fbdir: cmd += ["-fbdir", self._fbdir] if self._dpi is not None: cmd += ["-dpi", str(self._dpi)] if self._has_displayfd: cmd += ["-displayfd", str(self._pipe_wfd)] else: cmd += [self.new_display_var] return [PROGRAM] + cmd
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
examples | Folder | 0755 |
|
|
__init__.py | File | 241 B | 0644 |
|
about.py | File | 20 B | 0644 |
|
abstractdisplay.py | File | 12.29 KB | 0644 |
|
display.py | File | 3.18 KB | 0644 |
|
py.typed | File | 0 B | 0644 |
|
smartdisplay.py | File | 2.6 KB | 0644 |
|
util.py | File | 486 B | 0644 |
|
xauth.py | File | 1.14 KB | 0644 |
|
xephyr.py | File | 1.6 KB | 0644 |
|
xvfb.py | File | 1.9 KB | 0644 |
|
xvnc.py | File | 1.87 KB | 0644 |
|