pi-top Web VNC Tool
Project description
pt-web-vnc
Serve a display or the window of a particular application via VNC & http using x11vnc
& novnc
.
The script can share an existing display or create a new one, depending on the provided display id. New displays are created using Xvfb
and it’s dimensions and color depth can be specified via command line arguments.
It’s also possible to share particular windows from a display by using the ‘window-title’ argument. This will look for a window with the provided name in a given display and will only share that particular section of the display. If this argument is not provided, the whole display is shared.
A python module pt_web_vnc
is also included which provides synchronous and asynchronous wrappers around the pt-web-vnc
script.
Usage
pt-web-vnc <COMMAND> --display-id <DISPLAY_ID> --HEIGHT <SCREEN_HEIGHT> --WIDTH <SCREEN_WIDTH> --ssl-certificate <SSL_CERTIFICATE> --window-title <WINDOW_TITLE> --run <RUN_COMMAND> --background-colour <COLOUR> --with-window-manager
where:
COMMAND: {start, stop, url, clients}
start: start sharing a display or app based on the given arguments.
stop: stop sharing the given display.
url: print the novnc URL where the provided display is being served.
clients: print the number of clients connected to a particular display.
--display-id DISPLAY_ID: integer, id for the display to use/create. If the provided display ID doesn\'t exist, a new one will be created.
--height SCREEN_HEIGHT: integer, height in pixels for the virtual display to create. Defaults to 1080.
--width SCREEN_WIDTH: integer, width in pixels for the virtual display to create. Defaults to 1920.
--depth SCREEN_DEPTH: integer, pixel depth for the virtual display to create. Defaults to 24.
--ssl-certificate SSL_CERTIFICATE: path to combined SSL certificate & key file. Optional.
--window-title WINDOW_TITLE: Title of a window in a display to share over VNC. Optional.
--run RUN_COMMAND: Command to run before starting VNC server.
--background-colour COLOUR: string with a colour name to use as background for the virtual display.
--with-window-manager: start a window manager in the specified DISPLAY_ID. For now, the window manager used is 'bspwm'.
Examples
Start a virtual display with custom dimensions and background
$ pt-web-vnc start --display-id 100 --height 500 --width 1000 --background-colour red
# Get the URL to connect
$ pt-web-vnc url --display-id 100
http://pi-top.local:61100/vnc.html?autoconnect=true
$ pt-web-vnc stop --display-id 100
Python module examples
Asynchronously start sharing display 0
>>> import asyncio
>>> from pt_web_vnc import async_start, async_connection_details, async_stop
>>> # Start sharing display 0
>>> asyncio.run(async_start(display_id=0)
...
>>> # Get connection details
>>> details = asyncio.run(async_connection_details(display_id=0))
>>> details.url
'http://pi-top.local:61000/vnc.html?autoconnect=true&resize=scale'
>>> # Returned object also contains parsed elements of the URL
>>> details.scheme
'http'
>>> details.hostname
'pi-top.local'
>>> details.port
61000
>>> details.path
'/vnc.html?autoconnect=true&resize=scale'
>>> # Stop sharing display 0
>>> asyncio.run(async_stop(display_id=0)
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
Built Distribution
File details
Details for the file pt-web-vnc-0.5.0.post1.tar.gz
.
File metadata
- Download URL: pt-web-vnc-0.5.0.post1.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b784395ba587048e6dec1d575b9472e539fe6db36315a81f0ea23e8a0f01afd5 |
|
MD5 | 10412525e5e1610ec600c6122c9bb4a4 |
|
BLAKE2b-256 | fed6a55936913a85ef2bdbd06c5410bd4118779f9da96a51dacdf11d8e101ae3 |
File details
Details for the file pt_web_vnc-0.5.0.post1-py2.py3-none-any.whl
.
File metadata
- Download URL: pt_web_vnc-0.5.0.post1-py2.py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfc049fba9a860f4715d256ab8688f0e23c23ca36ff89f280697dbbad5a086d6 |
|
MD5 | f9f4d1aa3ca8fe51f002a91a07238f34 |
|
BLAKE2b-256 | 69371dbc920418a8f07651d156aec5c90c58fd6de3589d086daf2498fec94a00 |