前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jetson Nano心得分享:用VS-Code远程操作

Jetson Nano心得分享:用VS-Code远程操作

作者头像
GPUS Lady
发布2023-05-30 08:11:16
4730
发布2023-05-30 08:11:16
举报
文章被收录于专栏:GPUS开发者GPUS开发者

在远程操作Jetson Nano时,笔者一开始使用FinalShell这个便利的SSH工具,并搭配Nomachine图形界面软件。在前期的单纯学习与简易开发时还能游刃有余,但随着复杂度的提升,不仅需要在几个关联文件中进行交叉修改,可能还需要查看图像/视频这类的输出结果,必须在几个视窗之间不断切换,于是这些工具组合就显得捉襟见肘。

FinalShell是一款实用性非常好的这款国产工具(如下图),不仅提供一个比Linux自带的VIM更好用的文书处理器,能同时管理多个指令终端/多台设备,左边还能实时显示被管理设备的系统资源,下面有个简单的文件管理器,能轻松执行文件的上传/下载的操作,从系统管理的角度是个不可多得的好工具。

但是要面对更加复杂的应用开发时,例如目前较为流行的C/C++、Python、Java等开发语言,以及Jupyter这类教学工具时,这些SSH工具的整合性就明显不足,毕竟这些工具主要针对管理而非开发的用途。

经过一段时间的体验之后,笔者向大家推荐微软的vs-code整合式开发环境,作为技术学习与应用开发阶段的主要远程操作工具,主要原因如下:

  • 支持Windows、MacOS、多种Linux等操作系统;
  • 完全免费并支持中文界面;
  • 只要在本机透过扩充模块的功能,无需在Jetson Nano上进行任何安装,就可以自行选择所需要支持开发环境:
  • 编程语言:包括C/C++、Python、Java、SQL等等;
  • 排版语言:包括MarkDown、xml、json等等;
  • 互动教学工具:例如Jupyter;
  • 各种格式阅读器:如图片浏览、视频播放
  • 支持docker容器管理;
  • 支持Github相关应用:Copilot代码生成功能与代码仓同步功能;
  • 其他:请参考下图的点击步骤,可以看到所有支持的类别

事实上,只要是时下比较通用的技术资源,在vs-code都能透过扩充插件得到支持,并且我们不需要事先点击安装,只要在vs-code中点击文件,就能为我们分析需要添加哪些插件,然后在右下角跳出提示信息,十分方便。

由于vs-code需要透过SSH协议来进行远程控制,因此一开始我们需要在vs-code的扩充模块选项框中输入“ssh”关键字,点击第一个“Remote-SSH”并进行安装,如下图所示步骤:

安装好之后,就点击左下角的远程控制符号(如下图左),然后会在正上方出现如下图右的对话框,这时就要输入Jetson Nano的“ssh 用户名@IP”内容。

这里我们使用USB传输线为电脑与Jetson Nano建立连线,于是Jetson Nano的IP就会固定为“192.168.55.1”,现在就在输入框中填入“ssh nvidia@192.168.55.1”,然后会启动新的vs-code视窗,并在右下角显示下面截图的信息,表示正在建立连线。

此时,在视窗最上方会出现如下图的对话框,要求输入Jetson Nano的使用密码,输入之后就能进行远程控制。

进入之后会启动如下截图的工作区,左边工作区会根据双黄线框里的功能进行调整,下方粗黄框是互动信息区,包括Linux终端指令区、问题区、输出区、调试控制台与端口设置区,使用者可以在各种功能之间进行切换。

现在打开文件夹,设置Jetson Nano的/home/nvidia为主要工作区,我们先复制一个Python代码文件到这里,然后在vs-code里点击开启,接下来点选下图左方的调试键(图箭头1所指处),接下来会跳出“运行和调试”按钮(图箭头2所指处),由于现在还未安装Python插件,因此会弹出截屏右下角的信息,点击“查找Python扩展”后,系统会自动为我们寻找合适的插件,让我们快速选择安装。

当Python扩展安装完成后,就能很直观地在vs-code里,对Python代码文件进行纠错、修改、调试的工作,对于其他编程语言也都适用,包括Jupyter这类互动式教学工具,也在vs-code的支持之列。

除此之外,其他终端类SSH远程控制工具无法提供图像显示的功能,这对于OpenCV之类的计算机图像应用是很不方便的,因为很难立即确认计算的结果。Vs-code在这方面有所补强,可以在文件管理器里点击图像,就能在工作区里显示结果(如上图)。

至于视频播放的功能则有些格式上的限制,目前标准H.264格式(Main Profile)视频是可以在远程播放,对其他大部分格式的支持还是有待改善。

以上已经为我们处理绝大部分编程语言相关的使用,最后还有一个需要解决的问题,就是“调试代码+撰写文件”的便利性。大部分ssh工具只提供基本的文字编辑器,而vs-code则可以透过扩充插件提供对MarkDown这类描述语言的支持,如下图:

如此一来,我们就可以在同一个文件目录下,同时调试代码与撰写文件,只要另外创建一个MarkDown文件,就能用来记录学习心得或者撰写手册,这是SSH终端工具所提供不了的便利性。

总的来说,在技术学习与应用开发的阶段,用vs-code来远程操作Jetson Nano是非常合适的,但是到了部署阶段时可能其他ssh工具会更加顺手,使用者必须针对不同阶段选择合适的工具。【完】

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档