【问题标题】:Force Jupyter Notebook *not* to open a web browser强制 Jupyter Notebook *not* 打开 Web 浏览器
【发布时间】:2018-09-06 19:06:40
【问题描述】:

我正在通过 SSH 连接/隧道连接到的远程集群上运行 Jupyter notebooks (Python 3)。

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

根据webbrowser的文档:

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

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

Jupyter 未配置为使用浏览器——c.NotebookApp.browser 在我的配置中被注释掉了——运行BROWSER="" jupyter notebook 也无济于事。

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

【问题讨论】:

    标签: python ssh jupyter-notebook jupyter python-webbrowser


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。我在帮助页面中,不知道我是怎么错过的。
    • 谢谢...我正在寻找这个功能
    【解决方案2】:
    jupyter notebook --generate-config
    

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

    NotebookApp.open_browser = False
    

    【讨论】:

      【解决方案3】:

      您可以通过指定 --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
      

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

      问候!

      【讨论】: