![如何正确配置 Snap'd Firefox 以打开由 Jupyter Notebook 启动器生成的本地 html 文件?](https://linux22.com/image/1185521/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AE%20Snap'd%20Firefox%20%E4%BB%A5%E6%89%93%E5%BC%80%E7%94%B1%20Jupyter%20Notebook%20%E5%90%AF%E5%8A%A8%E5%99%A8%E7%94%9F%E6%88%90%E7%9A%84%E6%9C%AC%E5%9C%B0%20html%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我目前正在运行 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=7d0bbefd6ff58eddf9a1dbbd3d63e273282311d5b346cbe3
或http://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