pycharm本地Failed to open X display(exiting)

pycharm本地Failed to open X display(exiting)

我在本地使用pycharm连接远端服务器,由于使用ssh连接所以程序无法在本地打开GUI界面,导致程序崩溃

这是一个非常经典的 "Headless Server(无头服务器)运行图形界面程序" 的问题。

问题原因: PyCharm 通过 SSH 远程连接服务器时,默认是一个 无图形界面(Headless) 的终端会话。当程序运行到需要调用 OpenGL 或 Open3D 创建窗口时,它找不到显示器(X Server),所以报错 Failed to open X display。

我直接使用 Remmina 远程桌面连接运行程序可以直接跳出GUI,这实际上是连接到了服务器上的一个图形桌面环境(如 Gnome, XFCE),那里有一个正在运行的 X Server,所以能跑通。

为了能在 PyCharm 本地打断点调试,同时又能让程序不崩溃(甚至能在 Remmina 那个桌面上看到渲染画面)

"借用" Remmina 的显示器 (Redirect Display)

1.在 Remmina (服务器远程桌面) 中获取 Display ID: 打开 Remmina 连接后的服务器终端,输入:

bash 复制代码
echo $DISPLAY

2.允许访问显示器 (关键步骤): 在 Remmina 的终端中输入:

bash 复制代码
xhost +

(输出 access control disabled, clients can connect from any host 即成功。这允许同一台机器上的其他进程------即 PyCharm 启动的进程------使用这个屏幕)。

3.配置 PyCharm 环境变量:

在 PyCharm 顶部菜单栏,点击 Run/Debug Configurations-> Edit Configurations 找到 Environment variables 选项

添加一项:DISPLAY=:0 (注意:这里的 :0 必须替换为你第一步里 echo 出来的具体值)。



设置好后,打好断点,debug程序,当运行到打开GUI时,GUI会在远端服务器跳出,本地不会报错,完美解决

相关推荐
问天_观心17 小时前
大模型微调学习(二)
人工智能·python·深度学习·学习·语言模型·transformer
洋洋不叫杨杨17 小时前
揭秘当下知名的SEO优化渠道,你知道几个?
大数据·python
阿童木写作17 小时前
跨境图片翻译工具推荐:批量处理视频字幕与智能抠图
python·音视频
梦想的颜色17 小时前
OCR 识别原理与 Python 识图全实战:从文字提取到图像内容理解
python·计算机视觉·ocr·图像识别·python 识图
禹凕17 小时前
Dijkstra算法详解与应用
python·算法
别走!万哥爱你18 小时前
Python 中可以用于在已排序的列表中查找特定元素的位置的是什么?
python
wxwx_bscxy32219 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
TechWayfarer20 小时前
Cloudflare 9·15新政倒计时:用IP风险画像识别AI爬虫,防止误伤Googlebot
网络·人工智能·爬虫·python·tcp/ip·网络安全
禹凕20 小时前
滑动窗口算法实战指南
python·算法
论文复现现场21 小时前
RTX 4090 24GB 能跑 Qwen3.8-27B 吗?单卡显存计算与云端部署指南
人工智能·python·云计算·llama·gpu算力