Using Jupyter Lab as a Lightweight Remote Desktop

Using Jupyter Lab as a Lightweight Remote Desktop

Jupyter Lab isn't just for data scince - it's a powerful all-in-one environment offering:

  • Programming (Python, R, etc.)
  • Shell Access
  • File Browser & Editor
  • Plugins

All within your browser, without heavy windowing systems or VNC, making it a great alternative to traditional remote desktops!

Setup Instructions

Server Side

First, install Conda and set up a Conda environment.

Install Jupyter Lab

1
conda install -c conda-forge jupyterlab

Install kernels for Jupyter Lab:

Python (IPyKernel):

1
conda install -c conda-forge ipykernel

R (IRKernel):

1
conda install -c conda-forge r-irkernel

Launch Jupyter Lab and Make it accessible

Start a tmux session.

Start JupyterLab in it, listening on localhost, with no password/token:

1
jupyter lab --ip=127.0.0.1 --no-browser --NotebookApp.token='' --NotebookApp.password=''

Then open another tmux pane, set up push-pull-port, and push SSH port 22 to port $PUBLIC_PORT of remote public server $PUBLIC_HOST:

1
sh push-local-port.sh -l 22 -r $PUBLIC_PORT -u $PUBLIC_USER -h $PUBLIC_HOST 

Then detach from the tmux session.

Client Side

Set up push-pull-port.

Pull the remote port and forward it to your local 8888 port:

1
sh pull-remote-port.sh -r 8888 -l 8888 -u $PRIVATE_USER -h $PUBLIC_HOST -p $PUBLIC_PORT

Access in Browser: Open http://localhost:8888/lab.


Using Jupyter Lab as a Lightweight Remote Desktop
https://jifengwu2k.github.io/2025/10/04/Using-Jupyter-Lab-as-a-Lightweight-Remote-Desktop/
Author
Jifeng Wu
Posted on
October 4, 2025
Licensed under