linux系统远程服务器没有图形化界面,也无法安装浏览器,直接打开jupyter notebook会出现下面的提示
No web browser found: could not locate runnable browser
这说明服务器上安装了jupyter notebook,但是没有图形化显示界面,也无法安装浏览器,一种解决办法是本地打开浏览器连接远程服务器上的jupyter notebook
step 1: 远程服务器上用no browser方式打开Jupyter notebook
jupyter notebook ./foldername --no-browser --port=8890
- ./foldername是jupyter notebook打开的文件所在目录
- port=8890是设置了远程服务器打开的jupyter notebook端口,端口号可以自定义修改,与后面相互匹配即可
运行上述命令的效果如下:
这里,要记住地址端口号和token哦,后面本地登录远程服务器的jupyter notebook的时候会用到哦
step 2: 本地和服务器端口映射
本地terminal运行如下命令
ssh username@server_ip -L127.0.0.1:8893:127.0.0.1:8890
- username是远程服务器的用户名
- server_ip是远程服务器的地址
- -L后面的第一个127.0.0.1:8893是本地地址和端口号,8893可以修改为其它本地不在占用的闲置端口号
- 第二个127.0.0.1:8890是前面远程服务器上打开的jupyter notebook的地址和端口号,不能任意修改咯
22端口迟迟没有反应,那么我们在server_ip后面加上端口号
ssh username@server_ip:port -L127.0.0.1:8893:127.0.0.1:8890
提示ssh: Could not resolve hostname xx.xx.xx:xxxxx: nodename nor servname provided, or not known
换一种写法,把端口号写在前面的p参数
ssh -p port username@server_ip -L127.0.0.1:8893:127.0.0.1:8890
出现下面的提示,说明本地和远程端口映射成功了
Step 3: 本地浏览器打开服务器上的Jupyter Notebook
在本地浏览器上地址栏输入http而不是https
http://127.0.0.1:8893
成功打开了
现在可以图表展示数据分析or深度学习模型的结果了
如果,这一步打开后出现的界面需要输入token,还记得Note(2)的token吗,把远程服务器的token复制粘贴到那里就ok啦
在服务器上用 nohup 后台挂起运行jupyter
nohup jupyter notebook &
# 如果你装jupyter-lab的就打开jupyter-lab也行
没有试验这块儿,感兴趣的朋友试试吧
参考链接的顺序依次是:
- no-browser方式打开Jupiter notebook
- 换一种写法ssh远程服务器
https://cloud.tencent.com/developer/article/1445533 - 本地和远程服务器端口映射,主要参考了这个,非常感谢嗷