若葉の技術メモ

コンピュータやプログラミングに関して調べたり、取り組んだりしたことをまとめる若葉のノート📓。コンピュータ・プログラミング初めてって方も一緒に勉強していきましょう!初心は大事!いつでも若葉☘のような意気込みで!

  • No.   

若葉の技術メモ

コンピュータやプログラミング・数理に関して調べたり、取り組んだりしたことをまとめる若葉のノート。

コンピュータ・プログラミング・数理が初めてって方も一緒に勉強していきましょう!

初心は大事!いつでも若葉☘のような意気込みで!

Chromebook上でJupyter Notebookを自動で正しく開く

ChromebookでJupyterを導入してもデフォルトではうまく起動できない問題が発生します!

というわけで、今回は題名の通りChromebookにおいてJupyter NotebookをChrome上に自動で開くように設定したいと思います。

 

というのも、前回の記事 wakaba-mafin.hatenablog.com

では、Jupyterを導入することができたにはできたのですが、起動後Chromeのタブが自動で開いてもlocalhostに接続することができないという問題が発生しました。そのため、ターミナル上で表示されているURLを改めて自身でChromeのアドレス欄に入力する必要がありました...

そこで、今回はその解決方法を見つけましたので、みなさんと共有したいと思います!

※この記事の内容をご自身のPCで試す場合は自己責任でお願いします

 

 

前回生じた問題点

前回生じた問題をおさらいします。前回はlinux(β版)を有効にした

でpyenvとAnacondaを導入することによってjupyterをChromebook上で使えるようにしました。

 

しかしながら、Jupyter Notebookをいつも使うように

jupyter notebook

とターミナル上でコマンドを叩くと、確かにlocalhostが立ち上がって、Chrome上で自動的にタブが開くのですが、

This site can't be reached

penguin.linux.test refused to connect

と表示され、Chrome上ではそのままJupyter Notebookを使うことができませんでした...

したがって、泣く泣くターミナルに記載されているURLをコピーしないとJupyter Notebookを使えない状況でした...

(ターミナル上ではlocalhost云々のURLが表示されているのに、自動で開かれたタブではpenguin.linux.test云々のURLが入力されている状態...)

 

もちろん、自分で打ち込めば使えるのですが...毎度毎度URLを打ち込むのは面倒ですし...やはり、jupyter notebookというコマンドに対してChromeさんがパッとJupyter Notebookを開いて欲しいと思っていました...(泣)

 

実際にQiitaなどを見てみると、2ヶ月前の記事にはなりますが、同じ問題にあたっている方もいらっしゃいました。

qiita.com

 

解決のための道筋

さて解決の方針なのですが、Crostini(Linux)側のlocalhostIPアドレスChrome OS側がアクセスできないことが問題となっていると予想し、その辺りのキーワードでいろいろ調べてみました。

すると、その点が示唆される記事やその問題点をずばり指摘し解決策を提示しているサイトが見つかりました。

以下、参考にさせていただいたサイトです。

1. ChromeOS側がCrostini側のlocalhostにアクセスできない問題点に触れていた記事

shiba-hiro.hatenablog.com

2. 解決策を提示していたサイト

www.reddit.com

しっかりと勉強させていただきました。ありがとうございました。


解決法

というわけで、解決策を記していきたいと思います。先程、書いたように今回の問題はChrome OS側がCrostini(Linux)側のIPアドレスに正しくアクセスできていないことが問題です。

つまり、Jupyter Notebookを開く際にCrostini側のIPアドレスを指定してあげれば、正しくJupyter NotebookがChrome上で開くはずです。

というわけで、まずは

hostname -I

でCrostini側のIPアドレスを取得します(ここで3桁や2桁の数字が4つほど並んだものが表示されればOKです)

次に、Jupyter Notebookを起動する際にIPアドレスを指定します。

jupyter notebook --ip 取得したIPアドレス

と打ち込みます(--ipのオプションはjupyter notebook --helpで使い方を確認することができます)。

すると、望んだ通り!Jupyter Notebookが自動で立ち上がります!

f:id:wakaba-mafin:20181107124224p:plain

(ただしURLの部分はlocalhostで表示しています)

 

まとめ

はい!今回は前回導入したJupyterに関する問題を解決するために、Jupyter Notebookを起動したらChrome上でタブが正しく自動で開くようにする方法を共有させていただきました。

今回示した方法はChrome OS側とCrostini(Linux)側の間の問題点の1つを解決する方法です。現在のLinuxはあくまでβ版ではありますのでもしかすると今後何かしらの変更があって使えなくなるかもしれません...💦そこだけはご了承いただければと思います💦

また、間違いのご指摘やご意見等ございましたら、ぜひコメントでご教示いただければと思います。

 

というわけで、今回でちゃんとJupyterの環境が整いましたので、次回からは活用に入っていきたいと思いまーす!

ではでは、次回もよろしくお願いします!