Ubuntu 20双击运行ipython notebook 如何不保留后台终端?
解决方案
首先明确问题根源:Ubuntu 20.04默认使用GNOME桌面,你此前配置的nbopen文件关联启动器默认开启了「在终端中运行」选项,和nbopen本身的功能配置无关,按以下步骤修改即可:
方案1:修改现有nbopen启动器配置(优先选择)
- 打开终端执行以下命令,编辑nbopen的desktop启动文件:
gedit ~/.local/share/applications/nbopen.desktop
若上述路径不存在文件,替换为系统级路径/usr/share/applications/nbopen.desktop即可 - 在文件中找到
Terminal=true的配置行,将其修改为Terminal=false
若文件中不存在这一行,直接在[Desktop Entry]段落下新增一行Terminal=false即可 - 保存关闭文件后,执行命令更新桌面文件数据库:
update-desktop-database ~/.local/share/applications - 重启文件管理器后再次双击ipynb文件,就不会弹出终端窗口了
方案2:手动创建nbopen启动器(适用于找不到现有desktop文件的场景)
- 新建空白文件,写入以下内容:
[Desktop Entry] Type=Application Name=nbopen Comment=Open Jupyter notebooks directly in browser Exec=nbopen %f Icon=jupyter Terminal=false MimeType=application/x-ipynb+json; Categories=Development;Science;Education; - 将文件命名为
nbopen.desktop,保存到~/.local/share/applications/路径下 - 右键点击任意ipynb文件,选择「属性」-「打开方式」,找到nbopen设置为默认打开程序即可
特殊情况适配
如果修改后仍偶发终端弹出,可以将启动器里的Exec=nbopen %f替换为Exec=bash -c "nbopen %f > /dev/null 2>&1 &",手动将进程转入后台并丢弃输出。
内容的提问来源于stack exchange,提问作者Weather Report
相关产品推荐
相关产品推荐

