non vorrei lavorare

2020年度からの小学校プログラミング教育の必修化を親として迎えるブロガーの書く、子供との日常

こどものマイクラで占領された自作Xeon PCをリモートから操作してIJuliaを入れてブラウザからJuliaを使うまで

こんばんは。今年も花粉症がひどくて沖縄や北海道にしばらく行っていたいです。次男も花粉症の疑いがあり、一緒に耳鼻科に行って花粉症対策の薬を処方してもらって二人で飲んでいます。@kjunichiです。

背景

Xoenで8コア積んでる自作PCを子供のマインクラフトに占領されている。

Jupyter経由でJuliaを動かせるようにして、貴重な計算機資源を奪回する

公式でOpenSSHがWindows10でも利用できるようになったので、これを利用する事で、 かなりのことがマインクラフトで占領されている自作PCに対して遠隔操作できるはず。

Juliaのインストール

これはこどもが起きてこないうちにさくっと実施。

以降はsshで繋いで作業

IJuliaのインストール

cd %homepath%
AppData\Local\Julia-1.1.0\bin\julia.exe
using Pkg;Pkg.add("IJulia")

などで、普通にインストール

IJuliaを入れた際に入るjupyterを探す

リモートからjupyterにアクセスできるようにする。 その為には、まず、IJuliaをインストールした際に一緒にインストールされたjupyterを探しておく。

cd %homepath%
fd jupyter.exe$ .julia

ここで、fdコマンドはrust実装の21世紀版find(UNIX版の意)コマンド。

.julia\conda\3\Scripts\jupyter.exe                                                                                      
.julia\conda\3\pkgs\jupyter_core-4.4.0-py36_0\Scripts\jupyter.exe                                                       

のように見つかるはず、今後利用するのは、この例では、一番上のバージョンを含まない

.julia\conda\3\Scripts\jupyter.exe

を使っていく。

jupyter.exeが呼び出すサブコマンドが見つからないと怒られるので、以下のように パスを通しておく。

set path=%path%;%homepath%\.julia\conda\3\Scripts

デフォルトのjupyterの設定ファイルの雛形を生成

以下のコマンドで、デフォルトのjupyterの設定ファイル(%homepath%.jupyter\jupyter_notebook_config.py)の雛形を生成する。

jupyter notebook --generate-config

jupyterをリモートからアクセス出来るように設定

先ほど生成したjupyterの設定ファイルを編集して、リモートからjupyterにアクセス出来るようにする。

変更が必要な項目は以下の項目の模様。

c.NotebookApp.allow_remote_access = True 
c.NotebookApp.ip = '*' 
c.NotebookApp.local_hostnames = ['localhost','192.168.0.123'] 

192.168.0.123は子供に占領されてる自作PCIPアドレスを指定。 (もしかするとlocalhostのみでもOKかも)

以上で、準備完了となる。

IJuliaをリモートから起動

cd %homepath%
AppData\Local\Julia-1.1.0\bin\julia.exe
using IJulia
notebook(detached=true)

ここでdetached=trueの指定が無いと、プロンプトが戻ってこないので、別のsshで繋ぐ必要がある。

Ijuliaのデフォルトの状態ではjupyterがパスワード運用ではないようなので、jupyterコマンドで

jupyter notebook list
Currently running servers:                                                                                              
http://localhost:8888/?token=c0fc9b6d0e7684b58a1018eb2197603b0eb028a8c23883a9 :: C:\Users\kjunichi                         

として動かしているURLを取得して、これをローカルのブラウザに貼り付ける必要がある。 この際、localhostとホスト名がなっている場合、これを対象のPCのホスト名やIPアドレスに置きかる必要がある。

f:id:kjw_junichi:20190228233602p:plain

おわりに

Xeonといっても4万程度のCPUなので、2GHz以下のクロックで新しくしたいMac Book Pro 初代Retinaより 1コアあたりの処理は遅いことを思い出した。

関連記事

こどもつながり

14年前の記事

9年前の記事

4年前の記事