emacs-jupyter / jupyter

An interface to communicate with Jupyter kernels.
GNU General Public License v3.0
947 stars 93 forks source link

[FR] Support `--ConnectionFileMixin.transport=ipc` (unix sockets) #356

Open NightMachinery opened 3 years ago

NightMachinery commented 3 years ago

Some cloud GPU providers use servers without a public IP. I am using reverse port forwarding to SSH into them, but setting up reverse port forwarding for all the ports that jupyter kernels use is difficult. If --ConnectionFileMixin.transport=ipc (unix sockets) were supported, there would no need to forward any extra ports.

NightMachinery commented 3 years ago

BTW, I have also tried the notebook API. It doesn't work either, and I don't know if that is because of port forwarding issues or sth else:

Wrong type argument: "Wrong type argument", "jupyter-ioloop eieio--unbound ioloop"
tramp-error: Wrong type argument: "jupyter-ioloop eieio--unbound ioloop"
Open documentation (doom/help)
tramp-run-real-handler: Reading directory: No such file or directory, /jpy:x#y:/

My notebook server does log the auth as successful:

[D 16:00:30.113 NotebookApp] 200 GET /api/kernelspecs (127.0.0.1) 6.920000ms
[D 16:00:30.532 NotebookApp] Accepting token-authenticated connection from 127.0.0.1
[D 16:00:30.542 NotebookApp] 200 GET /api/contents?content=1 (127.0.0.1) 10.570000ms

Update: Even though (dired "/jpy:x#y:/") doesn't work, :session /jpy:x#y:/j1 seems to work fine.