如何正确配置 Snap'd Firefox 以打开由 Jupyter Notebook 启动器生成的本地 html 文件?

如何正确配置 Snap'd Firefox 以打开由 Jupyter Notebook 启动器生成的本地 html 文件?

我目前正在运行 Ubuntu MATE 21.10。
作为一项实验(为 Firefox deb → Snap 迁移做好准备),我已通过以下方式从中删除了 deb 打包的 Firefox:

sudo apt-get autopurge firefox

并安装了 Snap 版本的 Firefox

snap install firefox
$ snap list firefox 
Name     Version   Rev  Tracking       Publisher  Notes
firefox  96.0.2-1  886  latest/stable  mozilla✓   -

其权限是默认的:仅禁用“使用任何连接的操纵杆”和“读取对网络设置的访问”。

此外,我还通过以下方式从该系统的官方存储库安装了 Jupyter Notebook:

sudo apt-get install jupyter-notebook

当我从终端启动 Jupyter Notebook 时,jupyter-notebook它会显示一些问候消息:

$ jupyter-notebook 
[I 18:24:31.237 NotebookApp] Serving notebooks from local directory: /home/i
[I 18:24:31.237 NotebookApp] Jupyter Notebook 6.2.0 is running at:
[I 18:24:31.237 NotebookApp] http://localhost:8888/?token=7d0bbefd6ff58eddf9a1dbbd3d63e273282311d5b346cbe3
[I 18:24:31.237 NotebookApp]  or http://127.0.0.1:8888/?token=7d0bbefd6ff58eddf9a1dbbd3d63e273282311d5b346cbe3
[I 18:24:31.237 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 18:24:31.295 NotebookApp] 
   
   To access the notebook, open this file in a browser:
       file:///home/i/.local/share/jupyter/runtime/nbserver-2252-open.html
   Or copy and paste one of these URLs:
       http://localhost:8888/?token=7d0bbefd6ff58eddf9a1dbbd3d63e273282311d5b346cbe3
    or http://127.0.0.1:8888/?token=7d0bbefd6ff58eddf9a1dbbd3d63e273282311d5b346cbe3

然后打开 Firefox,其中显示错误消息:

访问文件被拒绝

/home/i/.local/share/jupyter/runtime/nbserver-2252-open.html 处的文件无法读取。

它可能已被删除、移动或文件权限可能阻止访问。

从同一台机器我可以使用终端访问此文件

$ ls -al /home/i/.local/share/jupyter/runtime/nbserver-2252-open.html
-rw-rw-r-- 1 i i 673 Jan 28 18:24 /home/i/.local/share/jupyter/runtime/nbserver-2252-open.html

或使用 deb 打包的 Epiphany。

我已经知道有一种解决方法,即访问本地主机的 URL(http://localhost:8888/?token=7d0bbefd6ff58eddf9a1dbbd3d63e273282311d5b346cbe3http://127.0.0.1:8888/?token=7d0bbefd6ff58eddf9a1dbbd3d63e273282311d5b346cbe3),但它并不方便用户使用并且会破坏正常的预期工作流程。

答案1

只需制作一个发射器来绕过卡扣限制即可。

一个简单的启动器看起来像:

#!/bin/bash
export JUPYTER_DATA_DIR=/home/$USER/Public
export JUPYTER_RUNTIME_DIR=/home/$USER/Public

jupyter-notebook

...或者跳过启动器并在方便的地方设置环境变量。

答案2

呃,你不能。我尝试用不同的浏览器查看隐藏目录(.local 等),但都不起作用。不过,有一个解决方法:参见这个链接。 您的浏览器将/应该自动打开链接 http://localhost:8888/?token=blahblah。

注意:创建和编辑 conf 文件有效,但清理对我来说无效。

通过运行以下命令创建配置文件:

jupyter-notebook --generate-config

编辑文件

〜/ .jupyter / jupyter_notebook_config.py

并设置:

c.NotebookApp.use_redirect_file = False

相关内容