[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
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu磁盘分区和挂载 虚拟机扩容 逻辑卷的创建和扩容保姆及教程

目录 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 2、Linux的磁盘分区和挂载 3、创建逻辑卷和逻辑卷的扩容 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 通过下图可以看出我们的根磁盘一共有20G的大小&#xff0c;现在我们把它扩容为30G 注&#xff1a;如果你的虚拟机有快照是无…

CV每日论文--2024.6.26

1、StableNormal: Reducing Diffusion Variance for Stable and Sharp Normal 中文标题&#xff1a;StableNormal&#xff1a;减少扩散方差以实现稳定且锐利的法线 简介&#xff1a;本文介绍了一种创新解决方案&#xff0c;旨在优化单目彩色输入&#xff08;包括静态图片与动态…

最新自助下单彩虹云商城系统源码,含小储云商城模板免授权

最新彩虹商城源码,含小储云商城模板免授权&#xff0c;试用了一下还行&#xff0c;具体的大家可以看看 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89405387 更多资源下载&#xff1a;关注我。

通过混合栅极技术改善p-GaN功率HEMTs的ESD性能

来源&#xff1a;Improved Gate ESD Behaviors of p-GaN PowerHEMTs by Hybrid Gate Technology&#xff08;ISPSD 24年&#xff09; 摘要 本工作中&#xff0c;首次证明了混合栅极技术在不增加额外面积和寄生效应的前提下&#xff0c;能有效提升p-GaN HEMTs的栅极静电放电(E…

2024广东省职业技能大赛云计算赛项实战——构建CICD

构建CI/CD 前言 题目如下&#xff1a; 构建CI/CD 编写流水线脚本.gitlab-ci.yml触发自动构建&#xff0c;具体要求如下&#xff1a; &#xff08;1&#xff09;基于镜像maven:3.6-jdk-8构建项目的drone分支&#xff1b; &#xff08;2&#xff09;构建镜像的名称&#xff1a…

浅浅谈谈如何利用Javase+多线程+计算机网络的知识做一个爬CSDN阅读量总访问量的程序

目录 我们发现csdn的文章 首先为了印证我们的想法 我们用postman往csdn我们任意一篇文章发起post请求 发送请求 ​编辑获得响应结果 我们发现我们的阅读量上涨 PostRequestSender类 但是我们经过测试发现 定义一个字符串数组 把URL放进去 然后延迟启动 在线程池里面…

SaaS架构Client/Server应用的实验室LIS系统源码,服务可拆分,功能易扩展

LIS系统&#xff0c;即实验室&#xff08;检验科&#xff09;信息系统&#xff0c;它是医院信息管理的重要组成部分之一&#xff0c;LIS系统采用了智能辅助功能来处理大信息量的检验工作&#xff0c;即LIS系统不仅是自动接收检验数据&#xff0c;打印检验报告&#xff0c;系统保…

Jboss通过未授权/弱口令进入后台上传webshell

目录 Jboss介绍 CVE-2007-1036 漏洞产生的原因 利用原理 访问页面 写入webshell 未授权访问后上传webshell 这一篇学习通过参考大佬的好文章学习Jboss的弱口令/未授权漏洞进入后台Getshell Jboss介绍 JBoss是一个基于J2EE的开放源代码应用服务器&#xff0c;代码遵循L…

《梦醒蝶飞:释放Excel函数与公式的力量》6.2 TIME函数

6.2 TIME函数 1&#xff09; TIME函数概述 TIME函数是Excel中用于根据指定的小时、分钟和秒返回时间值的内置函数。这个时间值是一个从0&#xff08;12:00 AM&#xff09;开始的序列数&#xff0c;其中一天的每个小时等于1/24&#xff0c;每分钟等于1/(24*60)&#xff0c;每秒…

【系统架构设计师】六、信息系统基础知识(电子政务|企业信息化|电子商务|信息化战略体系)

目录 一、电子政务EG 1.1 电子政务的内容 1.2 电子政务的主要特征 二、企业信息化EI 2.1 企业信息化实现 2.2 企业信息化方法 三、电子商务EC 四、信息化战略体系 五、客户关系CRM 5.1 CRM的功能 5.2 CRM解决方案具备的要素 5.3 CRM的实现过程 六、供应链管理SCM 七…

Flutter TIM 项目实现

目录 1. 服务端API 1.1 生成签名 1.1.1 步骤 第一步:获取签名算法 第二步:查看函数输入输出 第三步:nodejs 实现功能 1.1.2 验证签名 小结 1.2 Rest API 调用 1.2.1 签名介绍 1.2.2 腾讯接口 生成管理员 administrator 签名 包装一个 post 请求函数 查询账号 …

2734. 执行子串操作后的字典序最小字符串(Rust单百算法)

题目 给你一个仅由小写英文字母组成的字符串 s 。在一步操作中&#xff0c;你可以完成以下行为&#xff1a; 选择 s 的任一非空子字符串&#xff0c;可能是整个字符串&#xff0c;接着将字符串中的每一个字符替换为英文字母表中的前一个字符。例如&#xff0c;‘b’ 用 ‘a’…

华为OD机试 - 石头剪刀布游戏(Java 2024 D卷 200分)

华为OD机试 2024D卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;D卷C卷A卷B卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测…

酷开科技丨酷开系统大屏购物 打造沉浸式购物体验

在这个信息化的时代&#xff0c;购物已经不仅仅局限于传统的线下店铺&#xff0c;线上购物逐渐成为了我们生活中重要的一部分。而大屏购物作为线上购物的一种形式&#xff0c;更是凭借其独特的优势和实用的技巧&#xff0c;成为了消费者们的新宠。随着科技的进步和消费者需求的…

lumbda常用操作

文章目录 lumbda的常用操作将List<String>转List<Integer>filter 过滤max 和min将List<Object>转为Map将List<Object>转为Map&#xff08;重复key&#xff09;将List<Object>转为Map&#xff08;指定Map类型&#xff09; lumbda的常用操作 将Li…

读AI新生:破解人机共存密码笔记13有益机器

1. 标准模型 1.1. 我们能控制一个从外太空来的超级智能实体的概率几乎为零 1.2. 随着根据标准模型设计的机器变得更加智能&#xff0c;以及它们的行动范围遍及全球&#xff0c;关闭机器这种方法越来越不可行 1.2.1. 机器将会追求它们自己的目标&#xff0c;无论目标错得多么…

《大道平渊》· 拾伍 —— 为什么做生意的人都欲望比较充足?

《大道平渊》 拾伍 " 欲壑难填&#xff0c;勇往直前。" 为什么做生意的人都欲望比较充足&#xff1f;因为没有人给他们发工资。 在自由市场上&#xff0c;对手渠道、组织运行效率、商业化…… 随时一波小浪&#xff0c;都能把你干下场。 . 我们毕竟不是真正的 食…

eNSP中DHCP的相关命令和配置

一、拓扑图 1.新建拓扑图 2.设置PC端 双击PC1&#xff0c;在基础配置下&#xff0c;将IPv4配置选择”DHCP“&#xff0c;点击“应用”。 PC2、PC3、PC4同样操作。 二、DHCP配置 1.g0/0/0口的配置 在AR1上的命令配置如下&#xff1a; <Huawei>system-view [Huawei]…

.NET 一款支持8种方式维持权限的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

CloudFlare Tunnel实现内网穿透

CloudFlare Tunnel 背景&#xff1a; 家中设备处于内网NAT环境&#xff0c;希望使用CF tunnel构建内网穿透的环境。 有了CF tunnel后&#xff0c;可实现&#xff1a; 家中的NAS可以直接SSH AWS的云服务可迁到到NAS NAT主机借助CF tunnel部署服务 步骤&#xff1a; clou…