强制Jupyter Notebook不要打开Web浏览器

26

我正在一个通过SSH连接/隧道连接的远程集群上运行Jupyter笔记本(Python 3)。

Jupyter的默认行为是在启动时尝试在Web浏览器中打开仪表板 - 显然(我刚刚更新),他们在某个时候切换到了使用Python 3的webbrowser库进行操作。

根据webbrowser的文档:

如果没有图形浏览器,或者X11显示不可用,则将使用文本模式浏览器。

这正是发生的情况。我运行jupyter notebookwebbrowser启动elinks,我的一次性身份验证令牌被吞噬了,从而阻止我连接到笔记本。

Jupyter未配置为使用浏览器 - 在我的配置文件中,c.NotebookApp.browser被注释掉了,并且运行BROWSER =“”jupyter notebook也没有帮助。

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

3个回答

31

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

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

1
谢谢。我在帮助页面,不知道怎么错过了这个。 - Linuxios
谢谢,我正在寻找这个功能。 - suhailvs

17
jupyter notebook --generate-config

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

NotebookApp.open_browser = False

8
您可以通过指定 --no-browser 参数来实现此功能:
$ jupyter notebook --no-browser

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

jupyter notebook --no-browser --port= <端口号>

例如:

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

请记住,当您执行此操作时,jupyter会在控制台上为您提供一个令牌,这是服务器在通过浏览器远程连接时会要求您提供的。

如果您想简化此过程,可以设置一个易于记忆的密码。您可以在控制台中运行以下命令:

$ jupyter notebook --generate-config

并且后来:
$ jupyter notebook password

这个最后的命令将会要求你输入你希望用来远程登录的密码。
祝好!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接