1 前言
原料:
我有两台电脑,一台是Win10系统的小米笔记本12.5(简称为A电脑),一台是Ubuntu系统的小米游戏本(简称为B电脑)。A电脑没有GPU,没有配置任何深度学习环境;而B电脑的GPU是GTX 1060,配置好了深度学习环境,已经能用CUDA跑代码了。
A电脑和B电脑使用的IDE都是VS Code。
需求:
- 代码调试:因为B电脑有GPU,我希望能够用A电脑调试B电脑的代码。
场景1(远程调试):我想在A电脑的IDE中,控制B电脑运行B电脑的代码,并将代码结果返回至A电脑的终端。
场景2(服务器):我想用A电脑在IDE中,控制B电脑中运行A电脑的代码,并将代码结果返回至A电脑的终端。 - 文件传输:在B电脑调试完代码后,我想把B电脑中的代码结果图传到A电脑中。
基础软件:
OpenSSH组件 + VS Code Remote Development拓展程序
更进一步地说,A电脑上的OpenSSH Client + B电脑上的OpenSSH Server + A电脑上的Remote Development
因此,本教程分为两部分,第一部分是基础软件的准备,第二部分是Remote Development配置。
2 基础软件准备
2.1 Win10: OpenSSH Client
在A电脑中用管理员模式进入Powershell,然后输入如下代码。[1]
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
如果一切正常,会显示如下结果。
2.2 Ubuntu: OpenSSH Server
在命令行输入如下代码。
sudo apt-get install openssh-server
如果一切正常,会显示如下结果。
2.3 Win10: Remote Development
点左侧的Extensions按钮,搜索Remote Development下载即可。
3 Remote Development配置
点Extensions上面的Remote Explorer,把上面的REMOTE EXPLORES的选项调成SSH Targets。
点小齿轮,选择第一个,配置ssh文件。
获取B电脑的ip地址。在B电脑的命令行输入如下代码。
hostname -I
HostName改成B电脑的ip地址,User改成B电脑的用户名,保存。
然后点server1旁边那个+号文件夹。
按Enter进行选择,其中有一步需要输入B电脑的登录密码。
然后会打开一个新的远程控制窗口(注意左下角的改变),这样就可以进行远程开发啦!
4 需求实现
远程运行Python代码需要让VS Code在B电脑上重新识别Python和Anaconda,方法同在Extensions下载Python和Ananconda。
在B电脑上运行B电脑的Python代码:
在B电脑上运行A电脑的代码:
只要在B电脑上新建一个文件,把A电脑的代码拷过去即可。
文件传输:
对任意文件,右键,Download即可。
致谢
感谢@pprp的图文教程[2],是这个教程让我有信心去把这个远程开发功能配置出来。
同时感谢@晓峰 和 @Cat 帮我解释ip地址等计网知识。
参考
- ^https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
- ^https://mp.weixin.qq.com/s/oZ3YWOA1kO9TTjMSfQWXOg