当前位置: 首页 > news >正文

让vscode远程开发也可以图形显示

目录

  • 0. 摘要
  • 1. 保存查看
  • 2. jupyter内置inline渲染
  • 3. jupyter+浏览器
  • 4. matplot修改后端
  • 5. SSH X11转发[※]
  • 6. 参考

0. 摘要

vscode登录远程服务器进行开发遇到图形显示需求时,该怎么处理?一般有几种方式:

  1. 保存下来查看
  2. jupyter内置的inline图像渲染
  3. jupyter+浏览器
  4. matplot后端改用webapp
  5. ssh X11转发

1. 保存查看

2. jupyter内置inline渲染

  1. 指定inline后端
  2. python示例
    %matplotlib inline  # Jupyter Magic 命令,强制内联显示图像
    import matplotlib.pyplot as plt
    plt.plot([1, 2, 3])
    plt.show()
    

3. jupyter+浏览器

  1. 启动jupyter lab
    jupyter lab
    
  2. 浏览器打开jupyter

4. matplot修改后端

适用场景:需要交互式绘图(如缩放、保存),但无需 X11 转发。
步骤:

  1. 在代码中指定 WebAgg 后端:

    import matplotlib
    matplotlib.use('WebAgg')  # 使用基于 Web 的交互式后端
    
  2. python示例代码

    import matplotlib.pyplot as plt
    plt.plot([1, 2, 3])
    plt.show()  # 自动弹出浏览器窗口显示图像
    
  3. 访问图形界面:
    - 运行代码后,VS Code 会自动在 内置浏览器 或默认浏览器中打开交互式图表页面。

5. SSH X11转发[※]

适用场景:有独立弹窗需要显示

步骤:

  1. PC端安装VcXsrv[1]
  2. 运行XLaunch
  3. 设置display number或者保持默认
  1. 查看DISPLAY
  1. vscode添加环境变量
    打开Settings,设置terminal.integrated.env.windows,添加DISPLAY(此处为上一步查看到的DISPLAY)

        "terminal.integrated.env.windows": {
            "DISPLAY":"localhost:0.0"
        }
    
  2. SSH登录设置

    1. 安装remote-ssh插件
    2. 新建remote连接
      SSH Connection Command, 如: ssh hello@microsoft.com -XY(配置x11转发)
      添加的配置如下:
      Host xx.xx.xx.xx
        HostName xx.xx.xx.xx
        User username
        **ForwardX11 yes**
        *ForwardX11Trusted yes*
      
  3. 在 VS Code 中测试 X11 转发:

    1. 连接远程服务器后,打开终端运行:
    2. bash
      echo $DISPLAY  # 应输出类似 localhost:10.0
      xeyes          # 测试图形窗口是否弹出
      

在这里插入图片描述

6. 参考

[1] VcXsrv下载
[2] VS code remote x11 cant get DISPLAY while connecting to remote server

http://www.dtcms.com/a/79390.html

相关文章:

  • 基于BClinux8部署Ceph 19.2(squid)集群
  • Coco AI 智能检索 Hugo Blog 集成指南
  • 我的python学习记录
  • 【蓝桥杯】省赛:分糖果(思维/模拟)
  • Kotlin 基础语法
  • C# 语法糖
  • Docker build 会在本地产生巨大的文件
  • 计算机视觉技术探索:美颜SDK如何利用深度学习优化美颜、滤镜功能?
  • 如何选择合适的SSL服务器证书
  • 深入理解 Vue.js 中的 <keep-alive>:使用技巧与注意事项
  • c#:使用Modbus RTU协议
  • 高频SQL50题 第一天 | 1757. 可回收且低脂的产品、584. 寻找用户推荐人、595. 大的国家、1683. 无效的推文、1148. 文章浏览 I
  • 3.19刷题
  • 【VUE】day05-ref引用
  • 3.18-1
  • 基于Spring Boot的冷链物流系统的设计与实现的设计与实现(LW+源码+讲解)
  • docker需要sudo才能使用
  • Qt窗口控件之颜色对话框QColorDialog
  • jvm中每个类的Class对象是唯一的吗
  • 计算机网络分层结构
  • 【第14节】windows sdk编程:进程与线程介绍
  • Vue下载与安装步骤
  • Windows Docker 报错: has no HTTPS proxy,换源
  • 网络空间安全(37)获取webshell方法总结
  • 面试八股 —— Redis篇
  • Dagger2从入门到放弃
  • c++ - 笔记
  • C/C++结构体简单介绍
  • 深度学习:从零开始的DeepSeek-R1-Distill有监督微调训练实战(SFT)
  • Python 中下划线 “_” 的多面性:从变量到约定