[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
  • 图形界面X11
  • 常用操作和观察

总览:

  • 优点:
    • 方便,连上主机后可以直接连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

学生认证可以免费,否则要付费。
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的。
在这里插入图片描述

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

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

相关文章

Sharding-JDBC分库分表

参考&#xff1a; https://mp.weixin.qq.com/s/A6WS1CSjF7wvBE_gKLyp8w https://shardingsphere.apache.org/document/legacy/4.x/document/cn/quick-start/sharding-jdbc-quick-start/ 注意&#xff1a; 支持的sql项&#xff1a; 全面支持DML、DDL、DCL、TCL和部分DAL。支…

Altera不同系列的型号命名规则

Altera芯片型号&#xff1a;10AX07H4F34I3SG 20nm工艺 资源&#xff1a; 大数据 云计算 人工智能 图像处理 MSEL

C#+uni-app医院HIS预约挂号系统源码 看病挂号快人一步

​​​​​​​ 提到去大型医院机构就诊时&#xff0c;许多人都感到恐惧。有些人一旦走进医院的门诊大厅&#xff0c;就感到迷茫&#xff0c;既无法理解导医台医生的建议&#xff0c;也找不到应该去哪个科室进行检查。实际上&#xff0c;就医也是一门学问&#xff0c;如何优化…

物联网系统运维——数据库部署,Linux环境下MySQL安装,使用phpMyAdmin管理MySQL,实验CentOS 7安装MySQL

一.MySQL 1.概要 MySQL是一种关联数据库管理系统&#xff0c;关联数据:而不是将所有数据放在一个大仓库内&#xff0c;这样就增加了速度并提高了灵活性库将数据保存在不同的表中。性能高、成本低、可靠性好&#xff0c;已经成为最流行的开源数据库。 二.MySQL安装与配置 1. …

IPFoxy Tips:匿名海外代理IP的使用方法及注意事项

在互联网上&#xff0c;隐私和安全问题一直备受关注。为了保护个人隐私和数据安全&#xff0c;使用匿名代理IP是一种常用的方法。匿名代理IP可以隐藏用户的真实IP地址&#xff0c;使用户在访问网站时更加隐秘和安全。 本文将介绍匿名代理IP的基本原理和核心功能。 基本原则 匿…

算法与数据结构——时间复杂度详解与示例(C#,C++)

文章目录 1. 算法与数据结构概述2. 时间复杂度基本概念3. 时间复杂度分析方法4. 不同数据结构的时间复杂度示例5. 如何通过算法优化来提高时间复杂度6. C#中的时间复杂度示例7. 总结 算法与数据结构是计算机科学的核心&#xff0c;它们共同决定了程序的性能和效率。在实际开发中…

Redis-集群-环境搭建

文章目录 1、清空主从复制和哨兵模式留下的一些文件1.1、删除以rdb后缀名的文件1.2、删除主从复制的配置文件1.3、删除哨兵模式的配置文件 2、appendonly修改回no3、开启daemonize yes4、protect-mode no5、注释掉bind6、制作六个实例的配置文件6.1、制作配置文件redis6379.con…

数据结构——带头双向循环链表(c语言实现)

目录 1.单链表和双向链表对比 2.双向链表实现 2.1 创建新节点 2.2 链表初始化 2.3 尾插 2.4 头插 2.5 尾删 2.6 头删 2.7 查找 2.8 指定位置后插入数据 2.9 删除指定节点 2.10 销毁链表 2.11 打印链表 前言&#xff1a; 我们在前几期详细地讲解了不带头单…

数据分析python基础实战分析

数据分析python基础实战分析 安装python&#xff0c;建议安装Anaconda 【Anaconda下载链接】https://repo.anaconda.com/archive/ 记得勾选上这个框框 安装完后&#xff0c;然后把这两个框框给取消掉再点完成 在电脑搜索框输入"Jupyter"&#xff0c;牛马启动&am…

网易严选礼品卡有什么用?

网易严选的礼品卡可以在网易商城里买东西 但是现在好多人买东西基本上都用的是淘宝京东之类的 很少会有人用网易吧 但是最近我朋友送了我几张网易的卡&#xff0c;我自己也用积分兑换一张&#xff0c;一直不知道怎么用 最后还是在收卡云上转让出去了&#xff0c;价格高不说…

2024年JCR分区,将发生重大变化

科睿唯安官方微信发布消息&#xff0c;指出今年的期刊排名及相应JCR分区将发生重大变化。 原文比较长&#xff0c;不熟悉相关规则的朋友也不太容易读懂。因此&#xff0c;我们今天做一个详细的解读。 首先明确几个基本概念&#xff1a; &#xff08;1&#xff09;2024年发布2…

File类和IO流

File类和IO流 文章目录 File类和IO流[TOC](文章目录)前言一、java.io.File类&IO流原理及流的分类1.1 File类及其API1.2 IO流原理及分类 二、节点流的介绍&#xff08;字符/字节&#xff09;2.1 Reader\Writer--字符IO抽象基类2.2 FileReader\FileWriter--字符IO节点流2.3 I…

Android 多媒体开发——Media3与MediaSession最全使用指南

一、Media3库简介 1.1 Media3是什么&#xff1f; 官方释义&#xff1a; Jetpack Media3 is the new home for media libraries that enables Android apps to display rich audio and visual experiences. Media3 offers a simple architecture with powerful customization,…

Git 和 TortoiseGit 安装和配置(图文详解)

使用git&#xff0c;需要在Windows上需要安装两个软件&#xff1a;1&#xff09;Git 2&#xff09;TortoiseGit 若需要&#xff0c;可以下载TortoiseGit汉化语言包。 注意&#xff1a;tortoiseGit是在安装了Git的基础上运行的&#xff0c;所以需要先安装Git&#xff0c;后安装…

Mysql索引的实现原理,B+Tree,WAL

InnoDB 引擎&#xff0c;每一个数据表有两个文件 .frm和.ibd&#xff0c;分别为表结构&#xff0c;数据和索引&#xff0c;数据挂在主索引的叶子节点上&#xff0c;此主索引称为聚簇索引。 MyISAM 引擎&#xff0c;每一个数据表有三个文件.frm和.MYI和.MYD&#xff0c;分别为表…

深入理解计算机系统 CSAPP 家庭作业7.13

用一下496页提到的工具咯 A: whereis libm.a file lidm.a gedit libm.a libm.a是个ASCII text文件打开一看原来 libm-2.27.a 和libmvec.a才是我们要看的 所以我们cd到目标地址后 ar -t libm-2.27.a ar -t libmvec.a B: gcc -Og bar5.c foo5.c 用之前的两个文件链接后生成…

【CS.DS】数据结构 —— 图:深入了解三种表示方法之邻接表(Adjacency List)

文章目录 1 概念2 无向图的邻接表2.1 示例2.2 Mermaid 图示例2.3 C实现2.3.1 简单实现2.3.2 优化封装 2.4 总结 3 有向图的邻接表3.1 示例3.2 C实现3.3 总结 4 邻接图的遍历5 拓展补充References 数据结构 1 概念 优点&#xff1a;空间效率高&#xff0c;适合稀疏图。动态性强…

springboot 整合redis

文章目录 一、Jedis二、Lettuce三、RedisTemplate(重点)单机3.1 springboot 整合swagger3.2 序列化中文问题集群3.3 applications配置3.4 问题 一、Jedis package com.example.redis;import redis.clients.jedis.Jedis;import javax.print.DocFlavor; import java.util.*;/***…

【编译原理】绪论

1.计算机程序语言以及编译 编译是对高级语言的翻译 源程序是句子的集合&#xff0c;树可以较好的反应句子的结构 编译程序是一种翻译程序 2.编号器在语言处理系统中的位置 可重定位&#xff1a;在内存中存放的起始位置不是固定的 加载器&#xff1a;修改可重定位地址&#x…

古文字识别笔记

前置知识 部件&#xff1a;大部分的汉字是由若干组笔画结构拼合而成的&#xff0c;这些相对独立的笔画结构称为「部件」。 部件是大于基本笔画&#xff08;例如&#xff1a;点、横、撇、捺等&#xff09;而小于或等同于 偏旁 的结构单位。 例如「测」字有三个部件&#xff1a;…