快要开学,又要来不少人。决定在一台电脑上实现类似服务器的功能,解决每次用都要跑到那个电脑的位置上/开向日葵之类的远程桌面软件/一个人用了其他都没办法使用的问题。

在网上搜索一番,大多数教程都是针对linux,其实windows本身也很容易实现。用 windows 自带 Open-SSH,再加上 vscode 的 Remote—SSH 插件,基本能够实现远程连接并编写代码。这里只是简单记录,并非手把手教程,根据文章中给出的连接或者自行Google/百度应该也能实现。

1. windows Open-SSH

win10后的系统安装ssh都十分方便。主要是参考了简书这篇博客:win10 安装 ssh 并作为服务器使用

微软官方的教程:Get started with OpenSSH for

2. Vscode 的 Remote-SSH

Vscode 安装Remote-SSH扩展。安装完成后,按 F1 或者(Ctrl+shift+p)输入指令 Remote-SSH: Open SSH Host… 命令,输入用户名和 ip user@host-or-ip,再输入密码,就能连接和访问远程服务器。当然也可以选择将SSH公钥传到服务器端,就可以实现免密码登录。

为远程服务器安装相应的 Vscode 扩展,基本上和本地使用没有太大区别,在 terminal 的窗口下可以用 conda 的命令来安装包和管理环境。

3. 其他问题以及解决方法

3.1 无法打开绘图的GUI界面

绘图测试代码

1
2
3
import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5],[2,3,2,4,2])
plt.show()

无论是windows还是linux都存在这个问题,绘图的GUI界面无法出现,每次画图可能都需要保存到本地再查看,过于麻烦。网上给出的解决方案过于麻烦。最后安装了 Jupyter 插件,在 Jupyter 的环境下运行就能正常显示图片。效果如下:

效果图

3.2 外网无法访问的问题

脱离了校园网之后就无法正常连接,为了方便同学们放假离校也能加班,利用内网穿透的服务实现了校外访问。

我采用的是花生壳,免费版可以设置两个端口,带宽为1M。

官方教程:https://service.oray.com/question/16216.html

脱离校园网后,只需要输入外网域名和端口,就能正常连接。但是由于带宽限制,略有延迟,不建议离校加班。