VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件

(请一步一步来,大佬随意)
分为四大环节:
1.SSH篇
2.免密连接设置篇
3.文件传输篇
4.可视化界面的安装和使用

SSH篇:
一:本地电脑安装相应的软件
1.前期准备工作:安装好VScode软件,然后在VScode的扩展中安装Remote-SSH
2.安装好了之后,VScode的左边菜单栏中会出现《远程资源管理器》,点击一下,是下图所示的样子。
VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第1张图片
(先不要管我图片中SSH TARGETS的内容)
你可以看到SSH TARGETS的右边有一个齿轮,点击一下选择那个**.ssh\config(这是用来配置你和远程设备的SSH文件)
VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第2张图片
可以直接复制我的内容,改几个东西,一个是Host那,起一个你远程设备的名字;第二个是HostName,要填入你远程设备的IP,第三个是User,这里写的是你远程设备的名字(比如说树莓派的User就叫做pi),端口就写22不用变。

Host pi
    HostName 192.168.0.103
    #ForwardX11 yes
    #ForwardX11Trusted yes
    #ForwardAgent yes
    User pi
    Port 22

ok,写好了之后保存一下(stcl+s),此时你的SSH TARGETS下面就应该会出现你想要连接的设备,对准他点鼠标右键,有两个选项,一个是打开一个新窗口来连接,一个是就用当前窗口来连接,选一个就行。(我不会截这个图,应该好理解)
接下来在VScode正上方就出现几个选项,让你选择你要链接的设备是window还是lunix之类的,树莓派选lunix,然后在下方终端输入你的树莓派的密码就可以远程连接到树莓派。
免密连接设置篇:
在这一部分来看看怎么搞免密连接,刚学会,也比较简单。
第一步:要现在你的电脑上创建公钥和私钥,在你电脑上用搜索搜cmd,进入命令行界面,输入:

ssh-keygen

按几个回车到命令结束,然后打开《我的电脑》,在这个地方,
VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第3张图片
你会看到有一个.ssh文件,进去之后应该有这两个文件:

id_rsa.pub # 公钥
id_rsa # 私钥

然后你要想办法把这个id_rsa.pub给搞到你树莓派上面去(方法太多了,vnc啥的都可以,甚至你可以用U盘)
第二步:id_rsa.pub搞到你树莓派上去之后,
VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第4张图片
你会发现有一个.ssh文件,没有的话自己创建一个就行,但是位置要在pi下面,点击进入.ssh文件后,创建一个名称为authorized_keys的File,然后把你搞过来的id_rsa.pub里面的内容复制一份,粘贴到authorized_keys里面,保存即可。
第三步:重新启动VScode(注意要断开VScode和远程设备的连接),你再重新连接远程设备会发现不需要密码了。
文件传输篇:
这部分简单,按照这个搞就行,亲测无误。
文件传输教程
可视化界面的安装和使用:
我就不讲原理啥的啦,网上教程说的太多了,直接来说怎么搞。
第一步:你要先安装Xming这个软件,可以直接在我的百度网盘下载。
链接:https://pan.baidu.com/s/173EqYn_aClQgcnXfiazi9g
提取码:1234
然后你把他一安装就行,放哪我感觉无所谓,注意安装的时候选这个,VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第5张图片
要确保XLaunch这个东西也安装成功。
第二部:你进入到Xming这个应用的文件夹中,里面有一个VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第6张图片
X0.hosts文件,你可以用文本的方式打开,在里面加上一句你远程设备树莓派所处的ip,
VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第7张图片
(上面这是我的,不一定和你一样。)记得保存。
第三步:打开VScode,在扩展中安装Remote X11。
第四步:打开你下载的Xming软件,注意打开的是Launch那个,VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第8张图片
没啥特殊要求,无脑Next就行,别人说是Display number写0,那就写成0.完了之后你发现你电脑右下角菜单栏(就是你qq缩小化之后那个位置),有一个X,鼠标放上去,显示Xming Server:0.0
第五步:远程连接上你的树莓派,找到bashrc这个文件,还是在pi下面VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第9张图片
不管用啥方式,你编辑这个文件,在最后补上一句:

export DISPLAY="localhost:0.0"

这个地方的localhost是你电脑的ip地址(切记!!!),别输成树莓派的,更别就写个localhost。
然后保存文件,使用下面的命令生效下。

source ~/.bashrc

(为啥在这个地方后面要加:0.0?我之前到这里一直卡住,这个地方要和你Xming Lanuch显示的匹配,就第四步那个)
然后你可以使用

echo $DISPLAY

验证一下,应该会输出localhost:0.0(localhost还是你的电脑ip,有的博主说是输出“localhost:0.0”那绝对是瞎搞)
第六步:到这一步你就可以验证一下能不能远程出来,可别急着试代码,还没配置呢。我看有的博主说输入xclock,树莓派上输入这有问题的,你要先在树莓派上安装xclock这个功能,树莓派终端输入下面代码:

sudo apt-get install x-window-system-core

然后再在VScode上远程树莓派,输入xclock,就没啥问题了,会跳出一个钟表。VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第10张图片
第七步:这一步是要配置launch文件,确保代码如果有图像显示的话,可以在本地上进行显示。(我用python举例子,其他仿照,都差不多)
首先你先远程进入你的树莓派的一个文件夹,然后新建一个.py结尾的文件,vscode左边有一个《运行和调试》,点一下,写着新建一个laucnch.json文件,点一下进去。
VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第11张图片
在consloe下面补上env属性,在里面添加"DISPLAY":“localhost:0.0”。(注意这里的localhost还是你的电脑主机的ip,可千万别就写一个localhost),然后保存。
第八步:我记得到这就可以的,你可以新建一个.py文件,写入下面代码:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
ax = plt.axes(projection='3d')
ax.scatter(np.random.rand(10),np.random.rand(10),np.random.rand(10))
plt.show()

远程运行之后,在你的电脑上就会出来图,(如果提示没有安装matplotlib库的话,安装一下就行),下图是我的结果。
VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件_第12张图片
至此VScode远程免密连接树莓派设备,并使用可视化界面(xming)进行代码调试,远程传输文件全部完成。
感谢:在我进行调试的过程中,以下博客推动了我的进程:
1.VScode远程调试 - 利用RemoteX11+Xming显示GUI
2.使用vscode+xming远程ssh连接树莓派显现图形化界面
3.VSCode 连接远程服务器使用图形化界面(GUI)
同样我也要感谢郑州大学的双足实验室李一丁,是他在我对“localhost:0.0”这方面理解有误时向我解释,使我明白:远程控制端的设备localhost:0.0中localhost应为本地电脑,并且:0.0是随着Xming Launch的值而定的,这使我的进度加快,同样在免密操作连接方面给予我帮助,感谢。

你可能感兴趣的:(Python学习,vscode,ssh,ide,python)