VSCode调试: cannot connect to X server解决方案

问题描述

在VSCode中进入conda对应的虚拟环境对python代码进行调试,报错cannot connect to X server:
在这里插入图片描述

解决方法

方案1:
关掉程序中所有用于显示的代码,程序正常运行,没有报错.

在一些场景下,我们可能需要在调试的同时进行可视化显示操作,如果关掉显示代码可能不能满足我们的需求

方案2:
配置远程DISPLAY环境变量.
1.首先在对应服务器终端中输入:

echo $DISPLAY

得到远程终端的display number,如下图中的:localhost:10.0
在这里插入图片描述
2.然后在vscode terminal中输入

export DISPLAY=localhost:10.0

或者在测试主程序中加入以下代码

import os
os.environ['DISPLAY'] = 'localhost:11.0'

echo $DISPLAY指令必须在可进行正常可视化显示的终端中输入,直接在vscode中输入,可能什么都没有显示;
可以尝试直接进行第二步,参数设置同上,看看是否可以在调试中进行显示

其它:

DISPLAY 是 Linux/Unix 类操作系统中的环境变量,用来设置将图形显示到何处。
DISPLAY 环境变量格式如下host:NumA.NumB,host指Xserver所在的主机主机名或者ip地址, 图形将显示在这一机器上, 可以是启动了图形界面的Linux/Unix机器, 也可以是安装了Exceed, X-Deep/32等Windows平台运行的Xserver的Windows机器. 如果Host为空, 则表示Xserver运行于本机, 并且图形程序(Xclient)使用unix socket方式连接到Xserver,而不是TCP方式. 使用TCP方式连接时, NumA为连接的端口减去6000的值, 如果NumA为0, 则表示连接到6000端口; NumB则几乎总是0.

Guess you like

Origin blog.csdn.net/qq_44804542/article/details/117699720