我喜欢终端功能,并且非常适合我们的用例,我希望学生直接从终端做一些工作,以便他们体验这种环境。自动启动的shell是sh并且不会获取我的所有bash默认值。我可以输入" bash"一切都很完美。我该如何制作" bash"默认?
答案 0 :(得分:7)
Jupyter使用环境变量$SHELL
来决定要启动哪个shell。如果你使用init运行jupyter,那么这将在Ubuntu系统上设置为dash。我的解决方案是在启动jupyter的脚本中export SHELL=/bin/bash
。
答案 1 :(得分:3)
我尝试了通过在文件 / etc / environment 中添加以下行来切换系统范围的SHELL环境变量的最终方法:
SHELL=/bin/bash
这适用于Ubuntu环境。偶尔,SHELL变量在重新启动后始终指向终端中的 / bin / bash 而不是 / bin / sh 。
此外,在系统启动时设置CRON作业以启动 jupyter notebook 会在 jupyter notebook&#39> 终端上触发相同的问题。
事实证明,我需要在CRON作业语句中包含Bash init文件的变量设置和源语句,如〜/ .bashrc ,如下所示: $ crontab -e :
@reboot source /home/USERNAME/.bashrc && \
export SHELL=/bin/bash && \
/SOMEWHERE/jupyter notebook --port=8888
通过这种方式,我可以通过远程Web浏览器(http://server-ip-address:8888/)登录Ubuntu服务器,打开 jupyter notebook的终端默认为Bash,与本地环境相同
答案 2 :(得分:0)
随着Jupyter在Ubuntu 15.10上运行,Jupyter shell将默认为/ bin / sh,这是/ bin / dash的符号链接。
rm /bin/sh
ln -s /bin/bash /bin/sh
这个修复程序让Jupyter终端为我启动了bash。
答案 3 :(得分:0)
您可以将其添加到jupyter_notebook_config.py
c.NotebookApp.terminado_settings = {'shell_command': ['/bin/bash']}