Jupyter-notebook and embedded X11 GUI

Dear All,

We are using jupyter-notebook for educational purposes. The students run a networking simulation tool within the jupyter-notebook session inside the browser. Frequently, we need a GUI-based window of simulation to be opened. At the moment, the window is forwarded to the client side using X11 forwarding when we ssh -X to the server. We are planning to run jupyterhub server hosted on the internet to be accessed by the internet users. f jupyterhub supports X11 forwarding as a tab inside the browser, everything then seems to be great. Is there any way(any extension) that support running GUI application from jupyter-notebook and display the GUI to the users. For instance, we run the jupyterhub on our server with valid IPV4, accessible to all students, and then each student can execute its own jupyterlab session and execute a cell as

!xclock

and then the GUI will be displayed to user within the browser or even forwarded to the client side.

OS: Ubuntu 18.04

Note: My current environment using server as Ubuntu 18.04(Virtual Box Machine) and user as Windows 10 is depicted in This Link. But, this implementation is not scalable and may not be available for running jupyterhub server on Internet.

Sincerely,
Muhammad

I haven’t heard of such a solution off-the-shelf but https://stackoverflow.com/questions/19556947/html5-javascript-x11-server seems to contain a quite promising selection of tools that might serve your purpose. Of course those solutions wouldn’t be neatly integrated into the Jupyter Notebook but neither is any kind of X11 window. I believe that ipywidgets blend in much better due to the consistent design and less overhead.