Запустите удаленный (ssh) блокнот jupyter из bash-скрипта - PullRequest
0 голосов
/ 11 июля 2019

Я ленивый человек и хотел бы создать ярлык для очень повторяющейся задачи: я хотел бы написать (bash) скрипт, который 1. Соединяется с удаленным сервером 2. Переходит в нужную папку 3.Запускает блокнот jupyter там

Я на Ubuntu, как и сервер (18.04.2 LTS) и желательно иметь сценарий bash или псевдоним, чтобы выполнить эти три шага для меня.

Что я обычно должен делать:

me@mymachine:~$ ssh hostname@xxx.xx.xxx.xxx
hostname@xxx.xx.xxx.xx's password:
...
Last login: Thu Jul 11 11:26:47 2019 from xxx.xx.xxx.xxx
(base) hostname@host:~$ cd /path/to/my/folder/
(base) hostname@host:~$ jupyter notebook --no-browser --ip xxx.xx.xxx.xxx
...

    To access the notebook, open this file in a browser:
file:///run/user/1000/jupyter/nbserver-21110-open.html
    Or copy and paste one of these URLs:
        http://xxx.xx.xxx.xxx:8889/?token=111222333444555666sometoken888999

, который я использую, чтобы открыть блокнот jupyter в своем браузере по выбору.

Что я пробовал до сих пор:

#!/bin/bash

ssh hostname@xxx.xxx.xxx.xx "cd /path/to/my/folder/; jupyter notebook"

Что приводит к

hostname@xxx.xx.xxx.xxx's password: 
bash: jupyter: command not found

Я подозреваю, что мне нужно добавить команду jupyter в .bashrc или что-то подобное?Я не мог найти определенный ответ и не хочу с этим поиграться.

В качестве альтернативы я попытался

#!/usr/bin/expect -f

spawn ssh hostname@xxx.xx.xxx.xxx 
expect "assword:"
send "mypassword\r"

(взято из здесь ! И здесь !) Но тогда я не знаю, как совместить это с навигацией в нужное место и открытием блокнота Jupyter.

...