Solución:
jupyter notebook --ip=0.0.0.0 --port=80 or
ipython notebook --ip=0.0.0.0 --port=80
Eso es lo que hice para ejecutar ipython en mi caja de vagabundos. (Abrí los puertos en la caja vagabunda para acceder a ella en mi mac host)
usage: ipython [-h] [--certfile NOTEBOOKAPP.CERTFILE] [--ip NOTEBOOKAPP.IP]
[--pylab [NOTEBOOKAPP.PYLAB]]
[--log-level NOTEBOOKAPP.LOG_LEVEL]
[--port-retries NOTEBOOKAPP.PORT_RETRIES]
[--notebook-dir NOTEBOOKAPP.NOTEBOOK_DIR]
[--config NOTEBOOKAPP.CONFIG_FILE]
[--keyfile NOTEBOOKAPP.KEYFILE] [--port NOTEBOOKAPP.PORT]
[--transport KERNELMANAGER.TRANSPORT]
[--browser NOTEBOOKAPP.BROWSER] [--script] [-y] [--no-browser]
[--debug] [--no-mathjax] [--no-script] [--generate-config]
En caso de que el puerto ya esté ocupado, vea qué lo bloquea; en mi caso, era una instancia antigua de ipython que no se había terminado correctamente. Los maté a todos con este comando
ps auxww | grep 'ipython' | awk '{print $2}' | xargs sudo kill -9
Para cambiar el puerto temporalmente, indique un número de puerto diferente cuando iniciemos el servidor del cuaderno jupyter desde una terminal mediante el siguiente comando.
jupyter notebook --port 9999
Leer más https://jupyter.readthedocs.io/en/latest/running.html
Algo ya está escuchando en 80, no puede vincular 2 servidores al mismo puerto. Utilice un proxy que escuche a 80 y lo redireccione a sus otros servidores y base IPython en la URL o dirección. Además, no use 80, use 443, si está ejecutando un servidor público, debería estar sobre TLS por seguridad.
Tenga en cuenta que para cualquier número de puerto bajo, es posible que deba aumentar los privilegios del proceso a la raíz, posiblemente usando sudo.