linux系统远程服务器没有图形化界面,也无法安装浏览器,直接打开jupyter notebook会出现下面的提示

No web browser found: could not locate runnable browser

没有图形化界面linux怎么用java 无图形化界面linux服务器_jupyter

这说明服务器上安装了jupyter notebook,但是没有图形化显示界面,也无法安装浏览器,一种解决办法是本地打开浏览器连接远程服务器上的jupyter notebook

step 1: 远程服务器上用no browser方式打开Jupyter notebook
jupyter notebook ./foldername --no-browser --port=8890
  • ./foldername是jupyter notebook打开的文件所在目录
  • port=8890是设置了远程服务器打开的jupyter notebook端口,端口号可以自定义修改,与后面相互匹配即可

运行上述命令的效果如下:

没有图形化界面linux怎么用java 无图形化界面linux服务器_远程服务器_02

这里,要记住地址端口号和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的地址和端口号,不能任意修改咯

没有图形化界面linux怎么用java 无图形化界面linux服务器_jupyter_03

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

出现下面的提示,说明本地和远程端口映射成功了

没有图形化界面linux怎么用java 无图形化界面linux服务器_jupyter_04

Step 3: 本地浏览器打开服务器上的Jupyter Notebook

在本地浏览器上地址栏输入http而不是https

http://127.0.0.1:8893

成功打开了

没有图形化界面linux怎么用java 无图形化界面linux服务器_服务器_05


现在可以图表展示数据分析or深度学习模型的结果了

没有图形化界面linux怎么用java 无图形化界面linux服务器_远程服务器_06


如果,这一步打开后出现的界面需要输入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
  • 本地和远程服务器端口映射,主要参考了这个,非常感谢嗷