Integrate Xpra in your Jupyter environment for an fast, feature-rich and easy to use remote desktop in the browser.
- Python 3.6+
- Jupyter Notebook 6.0+
- JupyterLab >= 3.x
- jupyter-server-proxy >= 4.0.0
- tornado >= 6.3
This package executes the xpra
command. This command assumes the xpra
command is available in the environment's $PATH.
Xpra supports password and encryption.
Both are NOT required, if you can trust everyone, who can log in to the host where your JupyterLab is running.
(incl. jupyter-server-proxy, jupyter-xprahtml5-proxy and Xpra-HTML5)
BUT (!!!)
if you are on a multiuser system, where you CANNOT trust everyone,
you must(!) ensure that your Xpra session is secured.
From version 0.4.0 we use unix-sockets as this feature got added to jupyter-server-proxy>=4.0.0 (which relies on tornado>=6.3)
Xpra is an open-source multi-platform persistent remote display solution for forwarding applications and desktop screens. It allows you to run X11 programs, usually on a remote host, and direct their display to your local machine.
Best of it. It is fast, fast, fast and comes with a build-in html5 client to allow remote.
Jupyter-Server-Proxy lets you run arbitrary external processes (such as Xpra-HTML5) alongside your notebook, and provide authenticated web access to them.
virtualenv -p python3 venv
source venv/bin/activate
pip install git+https://github.com/FZJ-JSC/jupyter-xprahtml5-proxy.git
For Jupyter Classic, activate the jupyter-server-proxy extension:
jupyter serverextension enable --sys-prefix jupyter_server_proxy
For Jupyter Lab, install the @jupyterlab/server-proxy extension:
jupyter labextension install @jupyterlab/server-proxy
jupyter lab build
Click on the Xpra icon from the Jupyter Lab Launcher or the Xpra item from the New dropdown in Jupyter Classic.
Connect to your database as instructed in the Quickstart section.
This package calls xpra
with a bunch of settings. Please read the Xpra manual if you want to know the details.
You have to modify setup_xprahtml5()
in jupyter_xprahtml5_proxy/__init__.py
for change.
- Xpra
- jupyter-server-proxy
BSD 3-Clause