[AI开发配环境]VSCode远程连接ssh服务器

文章目录

  • 总览:
  • ssh连接远程服务器
    • 连接
    • 免密登录:
    • Docker:ssh连接远程宿主机后,进一步连接并使用其中的docker容器
    • reload window
  • 配置解释器:Ctrl+P,在上面输入“>python”, 然后选selecet interpreter
  • 运行命令
    • 方法一:直接在左边run and debug (可以断点调试):
    • 方法二:不需要调试的话可以直接用terminal,完全支持tmux
  • terminal美化(报错信息不同颜色)
    • 换一个配色方案,但不会增加不同信息的区别显示:
    • 给python输出的 报错信息增加不同颜色的显示:
  • ssh 端口转发
  • 代码自动补全
  • 3D内容查看
  • jupyter notebook
  • github copilot平替codeium
  • 图形界面X11
  • 常用操作和观察
  • 其他细节
    • 左侧的explorer查看文件固定

总览:

  • 优点:
    • 方便,连上主机后可以直接连container,不需要额外配置container的ssh了;
    • 支持jupyter notebook
    • 调试也很方便
    • ssh端口可以直接转发
    • 甚至可以直接查看3D文件
  • 缺点(可以用mobaxterm代替吧):
    • 上传下载文件感觉不是特别方便?后面可以试试sftp插件

ssh连接远程服务器

连接

参考此链接:
https://zhuanlan.zhihu.com/p/667236864

  • 安装插件remote-ssh
  • 左侧栏点那个remote explorer (下图1),新建远程(new remote 下图2)
  • 在这里插入图片描述
  • 在顶部的命令框中输入:ssh -P <port> user@XXX.XXX.XXX.XX
  • 回车,还是顶部命令框,他会问你选那个配置文件,就用第一个就行,会生成这个配置文件
  • 然后在remote explorer里面就会显示这个新添加的远程服务器,点右边的→或者另一个按钮来打开就行
  • 还是窗口顶端,他会问你是什么平台Linux,Windows还是macOS,照着选就行
  • 还是窗口顶端,会问你密码,输入即可
  • 然后就连上了。
  • 可以选择要打开的文件夹,如何之后想打开另外的文件夹,可以点File,Open Folder, 如下图
    • 在这里插入图片描述

注意,选服务器类型,linux还是啥的,输密码,都是在顶部这个窗口:
在这里插入图片描述

免密登录:

  • 本地主机生成密钥对:ssh-keygen -t rsa -b 2048 -f C:\Users\YourUsername\.ssh\id_rsa
  • 在远程服务器的~/.ssh/authorized_keys 这个文件中(没有就自己新建),粘贴自己本地主机的C:\Users\YourUsername.ssh\id_rsa.pub的内容(本地主机的公钥)。
  • 在本地主机的C:\Users\YourUsername.ssh\config文件中,最后一行写上:IdentityFile: C:\Users\YourUsername.ssh\id_rsa (这一部是说,我要使用这个私钥文件)

Docker:ssh连接远程宿主机后,进一步连接并使用其中的docker容器

参考此文:
https://blog.csdn.net/weixin_45656074/article/details/131160299

注意!docker容器没有配置和远程宿主机的端口印射才能这样!否则还是当他是一台宿主机,走ssh。
安装docker扩展,安装完成后在左侧会多出一个docker 按钮:
在这里插入图片描述
点这个按钮,会显示containers, images,registries。
在container中右键你想要打开的容器,选attach visual studio code
在这里插入图片描述

注意,在每个容器中都要重新安装vscode扩展,如python等。

reload window

时间太久连不上远程的话,可以reload一下
ctrl + shift + P 输入reload

配置解释器:Ctrl+P,在上面输入“>python”, 然后选selecet interpreter

参考本文:https://blog.csdn.net/qq_41990294/article/details/119106112

先在远程安装extention Python。
在这里插入图片描述

Ctrl+P,在上面输入“>python”, 然后选selecet interpreter在这里插入图片描述

运行命令

方法一:直接在左边run and debug (可以断点调试):

在这里插入图片描述
可以修改路径:选择with arguments
在这里插入图片描述
然后修改launch.json,加上cwd这一行,改成自己的路径:
在这里插入图片描述

切换回要跑的脚本之后,再运行,因为默认运行的是current file,如果还停留在json这个文件的话他跑的就是json,当然就会报错。

之后,顶部输入框会让你输入参数,有就输入,没有就直接回车就行。

如果打了断点,就是调试,上方是一些操作按钮:
在这里插入图片描述
左边会显示一些变量之类的情况:
在这里插入图片描述
但是可能很难找到自己想看的变量,在watch这里点加号,自己想看啥就加啥就行:
在这里插入图片描述

方法二:不需要调试的话可以直接用terminal,完全支持tmux

下面就是terminal,可以用
在这里插入图片描述

如果没显示terminal,可以把鼠标放在下面这条黑线上,黑线就会变成蓝线,往上拖动就可以了:
在这里插入图片描述

terminal美化(报错信息不同颜色)

https://blog.csdn.net/m0_73832962/article/details/132202467

换一个配色方案,但不会增加不同信息的区别显示:

File-》Preferences -》 settings,然后搜索workbench, 选apperence, Edit in settings.json,
从下面这个链接中:https://glitchbone.github.io/vscode-base16-term/#/
选择喜欢的,复制到最后那个json项ColorCustomization里面

给python输出的 报错信息增加不同颜色的显示:

在site-package文件夹中新建一个sitecustomize.py文件,并在文件中添加下列代码保存:

import sys
from IPython.core.ultratb import ColorTB
sys.excepthook = ColorTB()

ssh 端口转发

比如我们如果想看6006的,emm,tensorbaord,需要用到此功能。
直接在底部框里面添加这个port就行了:
在这里插入图片描述
亲测,docker容器内的ssh直接连本地windows,不需要配置docker容器和远程宿主机的端口印射,就可以直接印射到本地windows主机

代码自动补全

似乎自带自动补全功能
在这里插入图片描述

3D内容查看

安装插件3D Viewer for VSCode (好像打开ply不太行,就是一片绿色)
安装vscode-3d-preview : 支持ply,obj,off等格式。
在这里插入图片描述

jupyter notebook

如果打开了ipynb文件的话,会自动推荐哪些插件安装
安装了插件之后可以直接用,
在这里插入图片描述

在这里插入图片描述
跑完之后记得在这里restart来清除显存占用:
在这里插入图片描述

如果要指定工作路径,似乎最简单的方式是在开头搞一个cell来改路径:
在这里插入图片描述

github copilot平替codeium

学生认证可以免费,否则要付费。
https://zhuanlan.zhihu.com/p/578964972?utm_id=0

  • 这里学生认证需要一个教育邮箱,以及证明的纸质材料现场拍照
  • 根据上面的链接说,学信网的中文认证报告不行,得自己翻译成英文的才行

太麻烦了就没搞了

可以用这个免费的插件平替一下:Codeium
在这里插入图片描述

图形界面X11

https://blog.csdn.net/Stone_hello/article/details/120041495,

  • 本地安装Xming
  • 本地运行Xlaunch,使用默认的display number (0),一直下一步。
  • C:/Users/username/.ssh.config 文件中,在对应的远程主机中添加:
    • ForwardX11 yes
    • ForwardX11Trusted yes
    • ForwardAgent yes
  • 远程主机中,确保ssh的配置文件 /etc/ssh/sshd_config中
  • 直接试试terminal中行不行,不行的话,就试试下面两条:(第一条似乎更加通用,第二条可能需要直接ssh连docker容器才行)
    • export DISPLAY=“你本地windows主机的ip地址:0.0” # 这个ip地址可以在本地主机中用ipconfig命令查看 (这一条需要本地打开XMing)
    • export DISPLAY=“远程机的i名字:10.0” # 这个名字就是terminal里面显示的username@XXX, 里面这个XXX # 这一条似乎根本不用本地打开XMing
  • 亲测不需要的步骤,但也可能在有的地方加上就好了:
    • 在本地的Xming安装路径中修改X0.hosts (在localhost下面一行添加远程服务器的ip)
    • 运行Xlaunch的时候,选no access control (disable access control)

补充说明:
我是如果用cmd用ssh连接远程,echo $DISPLAY,会发现DISPLAY被自动设置为了"远程机的i名字:10.0"。

参考:
https://superuser.com/questions/310197/how-do-i-fix-a-cannot-open-display-error-when-opening-an-x-program-after-sshi

常用操作和观察

常用快捷键:
Ctrl + K + 0: 折叠所有代码块
Shirt + Alt + 方向键上或下:在上方或下方复制本行代码
Ctrl + ctrl + shift + P 输入reload: reload window

右边这个代码框,右边那一竖条,靠左的是git的改变,靠右的是报错或warning
代码框里面本身高亮为黄色的也是warning的。
在这里插入图片描述

其他细节

左侧的explorer查看文件固定

问:在vscode中,左侧有一个explorer,里面显示了文件夹的结构。但是,我一点开一个文件,explorer的内容就会自动跳到这个文件所在的文件夹。有什么办法让explorer固定住,不跟随右侧打开的文件而变化吗?

答:File,preferences,settings,搜索explorer,这个auto reveal 选false
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/746533.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu如何切换到root用户

1、主要指令&#xff1a; sudo -i su root 2、示例 3、其他说明 在Ubuntu&#xff08;以及大多数其他基于Linux的操作系统中&#xff09;&#xff0c;切换到root用户通常意味着获得了对系统的完全访问权限。这种权限允许执行以下操作&#xff08;但不限于这些&#xff09;…

【C语言】解决C语言报错:Double Free

文章目录 简介什么是Double FreeDouble Free的常见原因如何检测和调试Double Free解决Double Free的最佳实践详细实例解析示例1&#xff1a;重复调用free函数示例2&#xff1a;多次释放全局变量指针示例3&#xff1a;函数间传递和释放指针 进一步阅读和参考资料总结 简介 Doub…

【ajax实战03】拦截器

一&#xff1a;axios拦截器 拦截器分类&#xff1a; 请求拦截器以及响应拦截器 拦截器作用&#xff1a; 在请求或响应被then或catch处理前拦截它们 二&#xff1a;请求拦截器 作用&#xff1a; 发起请求之前&#xff0c;调用一个配置函数&#xff0c;对请求参数进行设置…

MyBatis案例

目录 一、配置文件1.数据与环境准备1.1 创建tb_brand表1.2 在Pojo中创建实体类Brand.java1.3 在test文件夹下的java中创建测试类1.4 安装MyBatisX插件 二、增删改查1. 查询 一、配置文件 1.数据与环境准备 1.1 创建tb_brand表 -- 删除tb_brand表 drop table if exists tb_bra…

什么是大模型?一文读懂大模型的基本概念

大模型是指具有大规模参数和复杂计算结构的机器学习模型。本文从大模型的基本概念出发&#xff0c;对大模型领域容易混淆的相关概念进行区分&#xff0c;并就大模型的发展历程、特点和分类、泛化与微调进行了详细解读&#xff0c;供大家在了解大模型基本知识的过程中起到一定参…

【Qt】初识QtQt Creator

一.简述Qt 1.什么是Qt Qt 是⼀个 跨平台的 C 图形⽤⼾界⾯应⽤程序框架 。它为应⽤程序开发者提供了建⽴艺术级图形界⾯所需的所有功能。它是完全⾯向对象的&#xff0c;很容易扩展。Qt 为开发者提供了⼀种基于组件的开发模式&#xff0c;开发者可以通过简单的拖拽和组合来实现…

Energy-based PINN在固体力学中的运用

简介 物理信息神经网络&#xff08;Physic informed neural network&#xff0c;PINN&#xff09;已经成为在有限差分、有限体积和有限元之后的另一种求解偏微分方程组的范式&#xff0c;受到学者们广泛关注。 在固体力学领域有两类不同的PINN: &#xff08;1&#xff09;PDE…

mac卡牌游戏:堆叠大陆 Stacklands for Mac 中文安装包

Stacklands 是一款轻松益智的堆叠游戏。玩家需要在游戏中不断堆叠不同形状和大小的方块&#xff0c;使它们尽可能地稳定地堆放在一起。游戏中有多种不同的关卡和挑战&#xff0c;玩家需要通过合理的堆叠方式来完成每个关卡。游戏画面简洁明快&#xff0c;操作简单直观&#xff…

跟我从零开始学C++(C++代码基础)5

引言 小伙伴们&#xff0c;在经过一些基础定义和指针&#xff0c;数组&#xff0c;函数的洗礼后&#xff0c;我相信大家肯定都已经对C编程有了新的认知&#xff0c;同时呢&#xff0c;坚持下来的小伙伴们肯定都是好样的&#xff0c;大家都是很棒的&#xff0c;现在我们来学一学…

开源模型应用落地-FastAPI-助力模型交互-WebSocket篇(二)

一、前言 使用 FastAPI 可以帮助我们更简单高效地部署 AI 交互业务。FastAPI 提供了快速构建 API 的能力,开发者可以轻松地定义模型需要的输入和输出格式,并编写好相应的业务逻辑。 FastAPI 的异步高性能架构,可以有效支持大量并发的预测请求,为用户提供流畅的交互体验。此外,F…

Leetcode Hot100之矩阵

1. 矩阵置零 题目描述 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 解题思路 题目要求进行原地更改&#xff0c;也就是不能使用额外的空间&#xff0c;因此我们可以使用第一行的元素来记录对应的…

【软件下载】Folx详细安装教程视频-Folx软件最新版下载

根据大数据调查表明Acceleration PRO下载&#xff1a;抽出多达10个流的故障能够显着提高下载速度。根据行业数据显示与iTunes PRO集成&#xff1a;通过将Folx集成到iTunes来下载歌曲和视频&#xff0c;能够在下载后立即自动添加到iTunes库。实际上我们可以这样讲通过代理下载&a…

Git 冲突处理指南:恢复 Git Reset

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三连支…

10个AI高考上岸朋友圈文案设计

高考是人生中的一个重要时刻&#xff0c;上岸后分享朋友圈的文案可以既表达喜悦&#xff0c;也可以展现对未来的期待。以下是10个不同风格的高考上岸朋友圈文案&#xff0c;供你参考&#xff1a; 1. **梦想成真版**&#xff1a; "十年磨一剑&#xff0c;今朝试锋芒。高…

After Effects 2024 mac/win版:创意视效,梦想起航

After Effects 2024是一款引领视效革命的专业软件&#xff0c;汇聚了创意与技术的精华。作为Adobe推出的全新版本&#xff0c;它以其强大的视频处理和动画创作能力&#xff0c;成为从事设计和视频特技的机构&#xff0c;如电视台、动画制作公司、个人后期制作工作室以及多媒体工…

【Linux】进程信号_2

文章目录 八、进程信号1. 信号 未完待续 八、进程信号 1. 信号 除了可以使用 kill 命令和键盘来生成信号&#xff0c;我们也可以使用系统调用来生成信号。 kill函数可以对指定进程发送指定信号。 使用方法&#xff1a; int main(int argc, char *argv[]) {if (argc ! 3) {c…

利用viztracer进行性能分析和优化

上一篇文章&#xff0c;我们详细讲解了scalene这个性能分析和优化工具的使用流程&#xff1b;今天&#xff0c;我们将深入探讨另一个性能分析和优化工具——viztracer。 什么是viztracer&#xff1f; viztracer是一个非常强大的分析器&#xff0c;可以生成详细的性能报告和可…

信号与系统实验-实验五 离散时间系统的时域分析

一、实验目的 1、理解离散信号的定义与时域特征&#xff0c;掌握在时域求解信号的各种变换运算&#xff1b; 2、掌握离散系统的单位响应及其 MATLAB 实现的方法&#xff1b; 3、掌握离散时间序列卷积及其 MATLAB 实现的方法&#xff1b; 4、掌握利用 MATLAB 求解微分方程&a…

国内有哪些比较优秀的wordpress主题?

WordPress作为全球最受欢迎的开源内容管理系统之一&#xff0c;拥有众多优质的主题供用户选择。那么国内有哪些比较优秀的wordpress主题呢&#xff1f;下面小编就和大家分享国内功能比较完善比较受欢迎的wordpress主题。 wordpress主题合集&#xff1a;WP主题-办公人导航https:…

力扣1541. 平衡括号字符串的最少插入次数

Problem: 1541. 平衡括号字符串的最少插入次数 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 Problem: 力扣921. 使括号有效的最少添加 类似于上述题目&#xff0c;不过此时一个左括号要和两个右括号配对 1.同理上述题目&#xff0c;遍历字符串时若遇见一个左括…