I connect to a remote server using ssh -L
but if I close the laptop lid or the connection is lost, the jupyter notebook is disconnected.
After I reconnect to the remote server, the "last" session is lost.
What can be done to make it persistent?
Could screen
help with it?
On the remote server, you should open your jupyter in a screen
session, it will make it persistent if you lose the connection to the server and resume it.
- On your computer:
ssh -L xxxx:localhost:yyyy server
.
screen
.
jupyter notebook --no-browser --port=yyyy
.
- In your browser:
localhost:xxxx
.
To disconnect manually and reconnect:
- Exit the screen window:
control + a
and then d
.
- Disconnect from the server:
control + d
- And reconnect
ssh -L xxxx:localhost:yyyy
.
- Optionally, you can reopen the screen window, though unnecessary, using
screen -r
.
- Go back to your notebook or reopen
localhost:xxxx
.
The standard usage for persisting Jupyter server sessions is the use of nohup
and &
; in your remote server with IP address xx.xx.xx.xx
:
nohup jupyter notebook --no-browser --ip xx.xx.xx.xx --port yyyy &
Now, even if you switch off your laptop or lose the connection, you will be always able to reconnect by pointing your browser at xx.xx.xx.xx:yyyy