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会在远端服务器跳出,本地不会报错,完美解决

相关推荐
聪明的一休丶3 小时前
VLLM v0.24.0 版本深度解析:新引擎、新架构与大规模服务全家桶升级
python·架构·vllm
万亿少女的梦1684 小时前
基于Python的高考志愿填报辅助系统设计与实现
java·spring boot·python·mysql·vue
闲猫5 小时前
Python FastAPI + SQLAlchemy 入门教程:从零搭建你的第一个 Web 应用
前端·python·fastapi
北极星日淘8 小时前
中古货品品相评级算法实战|Java权重计分实现标准化五级品相体系
开发语言·python
hangyuekejiGEO8 小时前
临沂GEO服务企业技术选型分析
人工智能·python
闲猫10 小时前
Python 虚拟环境 virtualenv & uvicorn 服务搭建 & FAstAPI 使用
开发语言·python
AI视觉网奇10 小时前
vllm 多卡部署
python
精明的身影10 小时前
网络计划WebApp求解:融合Python与AI决策的项目管理系统
网络·python·web app
AI科技星10 小时前
全域谱分析:无穷维超复数信息场分形统一场论——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·python·算法·金融·乖乖数学·全域数学
用户03321266636711 小时前
使用 Python 在 Word 文档中添加批注
python