2015-11-01 471 views
4

我喜歡終端功能,對於我們希望學生直接從終端進行一些工作以便體驗該環境的用例很有效。自動啓動的shell是sh,並沒有提供我所有的bash默認值。我可以輸入「bash」,一切都完美。我怎樣才能使「bash」成爲默認值?Jupyter中的終端如何自動運行bash而不是sh

+0

我想它應該拿起你的默認外殼。如果你打開一個普通的終端,你會得到什麼外殼? – cel

+0

用ssh,我得到了bash。我應該追查下來。 –

回答

1

隨着Jupyter在Ubuntu 15.10上運行,Jupyter shell將默認進入/ bin/sh,這是一個到/ bin/dash的符號鏈接。

rm /bin/sh 
ln -s /bin/bash /bin/sh 

該修復得到Jupyter終端引導到bash爲我。

4

Jupyter使用環境變量$SHELL來決定啓動哪個shell。如果你正在使用init運行jupyter,那麼這將在Ubuntu系統上設置爲破折號。我的解決方案是在啓動jupyter的腳本中使用export SHELL=/bin/bash

1

我試圖通過添加以下行到文件的/ etc /環境交換系統範圍內的SHELL環境變量的最終出路:

SHELL=/bin/bash 

這工作在Ubuntu環境。在重新啓動後,SHELL變量總是指向/bin/bash而不是/bin/sh

此外,設置cron作業發射jupyter筆記本在系統啓動時觸發jupyter筆記本的終端同樣的問題。

事實證明,我需要包括猛砸init文件像的〜/ .bashrc在cron作業聲明變量設置和採購報表通過命令$ crontab -e命令如下:

@reboot source /home/USERNAME/.bashrc && \ 
      export SHELL=/bin/bash && \ 
      /SOMEWHERE/jupyter notebook --port=8888 

通過這種方式,我可以通過遠程Web瀏覽器(http://server-ip-address:8888/)登錄Ubuntu服務器,並打開jupyter筆記本的終端默認爲與本地環境相同的Bash。

相關問題