强制 Jupyter Notebook *不* 打开网络浏览器

Force Jupyter Notebook *not* to open a web browser

我 运行 在远程集群上使用 Jupyter notebooks (Python 3) connected/tunneled 通过 SSH。

Jupyter 的默认行为是在启动时尝试在网络浏览器中打开仪表板——显然(我刚刚更新),在某些时候他们切换到 Python 3 webbrowser这个图书馆。

根据 webbrowser 的文档:

text-mode browsers will be used if graphical browsers are not available or an X11 display isn’t available.

这正是发生的事情。我 运行 jupyter notebookwebbrowser 启动 elinks,我的一次性身份验证令牌被吃掉,阻止我连接到笔记本。

Jupyter 未配置为使用浏览器——c.NotebookApp.browser 在我的配置中被注释掉了——而且 运行ning BROWSER="" jupyter notebook 也没有帮助。

如何强制 Jupyter 打开任何浏览器?

jupyter-notebook --help 包括以下内容:

--no-browser
    Don't open the notebook in a browser after startup.
jupyter notebook --generate-config

然后编辑 ~/.jupyter/jupyter_notebook_config.py 并添加

NotebookApp.open_browser = False

您可以通过指定 --no-browser:

$ jupyter notebook --no-browser

我还建议您指定要使用的端口:

jupyter notebook --no-browser --port= <port_number>

即:

$ jupyter notebook --no-browser --port=8888

你必须记住,当你这样做时,jupyter 会在控制台上为你提供一个令牌,服务器会在通过浏览器远程连接时询问你的令牌。

如果您想简化此过程,您可以设置一个更容易记住的密码。为此,您可以 运行 在控制台中:

$ jupyter notebook --generate-config

及以后:

$ jupyter notebook password

这最后一条命令将询问您要用于远程输入的密码。

此致!