首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过远程ssh在im使用vscode时在调试控制台中可视化图像

如何通过远程ssh在im使用vscode时在调试控制台中可视化图像
EN

Stack Overflow用户
提问于 2021-04-29 22:54:47
回答 1查看 1.3K关注 0票数 3

我使用vscode远程ssh并通过ssh连接到服务器(集群中的一个节点)。我的本地机器是Windows,我的主机是ubuntu。我的vscode用于python中的代码。

几个星期以来,我一直试图运行python代码,并在调试控制台中显示图像,就像我们在普通终端或jupyter笔记本中所做的那样,但我注意到我根本无法在调试控制台中显示图像。下面是一个玩具例子

代码语言:javascript
运行
复制
import numpy as np
import matplotlib.pyplot as plt
img =  np.random.rand(300,200)
plt.imshow(img);plt.show()

基本上,当我尝试在调试控制台中执行plt.imshow(img);plt.show()时,要么一无所获,要么得到qt.qpa.screen: QXcbConnection: Could not connect to display localhost:0.0 Could not connect to any X display.。我尝试了几种方法,例如使用x11扩展或在putty中添加x11转发,或者在launch.json中添加显示。然而,它们都不起作用。

我得出的结论是,python中的vscode、remote ssh和调试控制台还没有这个特性。但是如果你知道怎么做的话请告诉我。

我希望我能清楚地看到,在正常情况下显示图像是有效的,而在调试情况下则不起作用。请注意,当我进行调试时,我不想在调试控制台的外面显示图像。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-11-04 11:53:49

看来你已经完成了我提出的解决方案的第一步。

  1. 用ctrl+打开vscode中的设置,然后搜索terminal.integrated.env.linux。单击Edid settings.json
  2. Update terminal.integrated.env.linux到此

代码语言:javascript
运行
复制
"terminal.integrated.env.linux": {
    "DISPLAY": "localhost:10.0",
  }

ssh -X user@host

  • Open

  • 关闭vscode

  • Open ssh与服务器的连接,并像通常一样使用远程开发插件。

现在,这将无限期地工作,只需打开x11-转发在一边每次。我目前正在寻找的解决方案的缺点是,每次希望在本地开发时,您都需要删除"DISPLAY": "localhost:10.0",这不是最优的。

编辑:由于您显然是在使用windows,所以您需要使用X11转发配置putty,并使用xming或其他x11转发软件来代替我的步骤4。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67326058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档