首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在本地机器上自动初始化远程木星笔记本?

如何在本地机器上自动初始化远程木星笔记本?
EN

Stack Overflow用户
提问于 2018-01-31 04:29:07
回答 2查看 538关注 0票数 4

我喜欢在一本木星笔记本电脑上工作,它是通过我的笔记本电脑远程连接到电脑上的。我想自动化的过程,连接到个人电脑通过ssh,初始化一个木星笔记本电脑,然后打开浏览器在我的笔记本电脑访问该笔记本。目前,我所采取的步骤如下:

  1. 进入远程PC并通过执行jupyter notebook --no-browser --port=8889初始化一个木星笔记本
  2. 回到本地机器上,我运行ssh -N -L localhost:8887:localhost:8889 username@PC_IP_address将远程端口8889绑定到本地端口8887。
  3. 然后在我的笔记本电脑上打开一个浏览器,访问url https://localhost:8887上的远程笔记本。

个人电脑和笔记本电脑都在同一个网络上。我在本地机器上通过在Iterm3中创建一个执行脚本的配置文件来自动化2。我想让整个过程自动化,这样我就可以用一个别名在本地机器上启动一个远程笔记本。非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2018-01-31 07:37:44

如果我是你,我会用一个函数。把这个放进你的.bashrc

代码语言:javascript
复制
jupy(){
    ssh username@PC_IP_address jupyter notebook --no-browser --port=8889
    ssh -N -L localhost:8887:localhost:8889 username@PC_IP_address
    firefox https://localhost:8887
}
票数 3
EN

Stack Overflow用户

发布于 2018-02-04 19:11:45

经过很大的努力,这里有一个对我有用的讨厌的解决方案。

代码语言:javascript
复制
jupykaggle(){
    # arguments: projectfolder environmentname
    competitionfolder=$1
    envname=$2
    ssh USER@IPADDRESS "cd Dropbox/data_science/kaggle/${competitionfolder};
                                source /home/USER/anaconda2/bin/activate ${envname};
                                /home/USER/anaconda2/bin/conda env list;
                                kill \`lsof -t -i:8889\`;
                                /home/USER/anaconda2/envs/${envname}/bin/jupyter notebook --no-browser --port=8889; exit"

    # after notebook is initialized in remote host, Control+c to exit this ssh session
    # and enter the second one to bind the remote port 8889 to local port 8887
    echo "Bind remote port 8889 to local port 8887"
    ssh -N -L localhost:8887:localhost:8889 USER@IPADDRESS
}

alias jupybrowser='open -a /Applications/Google\ Chrome.app http://localhost:8887'

我执行

代码语言:javascript
复制
jupykaggle projectfolder environmentname

要将cd放入项目目录,激活虚拟环境,关闭在我需要使用的端口中运行的进程,并使用该端口初始化一个jupyter笔记本(使用虚拟环境中的安装)。然后退出这个ssh会话并输入另一个ssh会话,在其中我将远程端口8889绑定到本地端口8887。最后一个别名只是打开本地主机8887中的Chrome浏览器来打开笔记本。

我仍然需要复制并粘贴远程笔记本上的令牌,但没关系。这仍然比我以前的工作流要少得多。

欢迎提出改进建议。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48534496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档