Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fj.comp.programming > #4
| From | Yasushi Shinjo <yas@cs.tsukuba.ac.jp> |
|---|---|
| Newsgroups | fj.comp.lang.misc, fj.comp.security, fj.comp.programming |
| Subject | SSH で Jupyer Notebook を実行するシェル・スクリプト |
| Date | 2020-08-14 16:36 +0900 |
| Organization | Institute of Information Sciences & Electronics, University of Tsukuba, Japan |
| Message-ID | <1s1rk9vfv7.fsf@is.tsukuba.ac.jp> (permalink) |
Cross-posted to 3 groups.
新城@筑波大学情報です。こんにちは。
ゆえ合って、ssh した先で Jupyter Notebook を実行し、ローカルのブラウザで
実行するシェル・スクリプトを作ってみました。基本は ssh -L なのですが、細
かい工夫があります。
ちょっと検索すると、気に入った方法が出てきません。ssh 先でローカルで実行
することもあるので、--generate-config して設定ファイルを作ると、設定ファ
イルを使い分けるのは面倒です。設定ファイルにポート番号書くと、衝突したと
き問題があります。また、パスワードも token あれば不要のはず。
以下のスクリプトの使い方です。端末を用意して、そこで引数としてホスト名を
与えて実行します。引数にポート付けても良いです。さらに、リモートで cd す
るディレクトリを指定できます。
うまく実行できると、Jupyter Notebook が"copy and paste one of these
URLs:" と表示します。そのうちの URL の1つをコピーして、Web ブラウザのア
ドレスバーにペーストします。
終了する時には、ブラウザの画面で quit ボタンを押せば良いのですが、端末で
^C で止めても良いです。
------------------------------------------------------------------------
#!/bin/sh
port=8888
dir=.
usage() {
echo "Usage: $0 host {port {dir}}"
exit 1
}
case $# in
0) usage;;
1) ;;
2) port=$2;;
3) port=$2;dir=$3;;
*) usage;;
esac
host=$1
ssh -t $host -L $port:localhost:$port "cd $dir; jupyter notebook --no-browser --port=$port"
------------------------------------------------------------------------
ssh -t で ^C がリモートに送れるのが少しうれしい。
bash 4 で case 文が fallthrough にできるようになっていたんですね。
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 情報工学 \\
Back to fj.comp.programming | Previous | Next | Find similar
SSH で Jupyer Notebook を実行するシェル・スクリプト Yasushi Shinjo <yas@cs.tsukuba.ac.jp> - 2020-08-14 16:36 +0900
csiph-web