(最新+详细+Pycharm远程调试GUI程序)解决qt.qpa.xcb: could not connect to display问题

article/2025/8/20 23:06:07

(最新+详细+Pycharm远程调试GUI程序)解决qt.qpa.xcb: could not connect to display问题

  • 出现原因
  • 解决方法
  • 步骤
    • 下载MobaXTerm
    • 连接服务器
    • 安装Xorg和打开X11-forwarding
  • 附录
    • 设置共享目录
    • 修改环境

出现原因

在ubuntu服务器上运行cv.imshow()方法时就会报以下错误

qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/root/anaconda3/lib/python3.8/site-packages/cv2/qt/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.Available platform plugins are: xcb, eglfs, minimal, minimalegl, offscreen, vnc

解决方法

因为用的是云服务器,我也不能去他那里外接个显示器,而且我也是没有装图形化界面的,如果有图形化界面可以使用vnc连接就解决了,我不想装图形化界面就打算使用MobaXTerm来使远程服务器的显示内容显示到本地windows上。

步骤

下载MobaXTerm

MobaXTerm内置了X server,在服务器上的图形化应用可以在本地轻松展示。MobaXTerm下载地址
这里我们下载Portable版本这个免安装,下载下来就一个exe文件。

连接服务器

打开下载的MobaXTerm,右上角Session->SSH,Remote host输入服务器地址,勾选Specify username输入连接的用户名,Port输入端口号,然后在下面Advanced Settings高级设置那里勾选X11-forwarding,就是需要X11-forwarding去转发服务器显示内容。
连接服务器

安装Xorg和打开X11-forwarding

连接好服务器后可以发现我们的X11-forwarding服务是没有打开的
X11-forwarding
首先我们先安装Xorg,Xorg是X11的实现,负责连接到Xserver进行输入和输出。

sudo apt-get install xorg

然后我们打开X11-forwarding服务,在命令行输入

vi /etc/ssh/sshd_config

修改两个配置项

X11Forwarding yes
X11UseLocalhost no

之后重启ssh服务

service ssh restart

重新连接服务器后可以发现支持X11-forwarding了
支持x11
在命令行输入xclock测试能否传输GUI界面到本地

xclock

xclock
成功!

附录

如何在Pycharm上面远程调试GUI程序呢?

设置共享目录

可参考这篇文章
PyCharm远程开发

修改环境

在设置好远程开发后修改环境信息
在PyCharm中打开Run->Edit Configurations,当然也可以在右上角运行按钮旁边直接点。然后在Environment variables添加DISPLAY变量。
修改环境

变量值是从服务器获取的。在命令行输入echo $DISPLAY就行。

echo $DISPLAY

在这里插入图片描述


http://chatgpt.dhexx.cn/article/idKQ0tjG.shtml

相关文章

【ARM开发】交叉编译Qt源码之(4)添加xcb支持

Debian 9 1、依赖 Qt源码添加xcb支持,依赖xcb-util-wm、xcb-util、xcb-util-image、xcb-util-keysyms、xcb-util-renderutil、libxkbcommon、libxkbcommon-x11,其中libxkbcommon依赖xkeyboard-config、libxml,libxml依赖zlib、xz-utils。 …

Spyder打开时报错:Could not load the Qt platform plugin “xcb“ in ““ even though it was found.

目录 前言 一、打开spyder时报错 This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. 二、解决问题 问题应该是PyQt5的版本太高,和spyder版本不匹配了 附上一个跟PyQt匹配…

Qt程序报错:could not find or load the Qt platform plugin “xcb“ in ““.

Qt开发,在开发机上生成了可执行文件之后,连同其相关的共享库,一起拷贝至目标机: 双击没反应。用终端运行提示: This application failed to start because it could not find or load the Qt platform plugin "x…

Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题

Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin "xcb"问题 问题描述定位问题解决方法后记 问题描述 安装Qt5.15.0后,在运行测试用例时弹出错误: qt.qpa.plugin: Could not load the Qt platform plugin "…

Could not load the Qt platform plugin “xcb“ in...问题解决

在Linux上用Vscode调试MAPPO代码时碰到“Could not load the Qt platform plugin “xcb” in…”问题,问题详细描述如下: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/cloris/anaconda3/envs/py37/lib/pytho…

wsl ubuntu22.04 conda环境安装labelImg解决xcb缺失问题

labelImg 安装 pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install labelImg -i https://pypi.tuna.tsingh…

Ubuntu20.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“ 问题

问题描述 python调用matplotlib.pyplot库进行图形绘制时弹出错误提示: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initi…

解决qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found.

项目场景: 在使用pyqt5出现问题,让人真的很头疼哇 问题描述 具体问题如下: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start becaus…

编译xcb

银河麒麟V10 ARM CPU, 在源码安装Qt5.12.8的时候发现加了-qt-xcb选项之后,会出现如下错误: RROR: Feature xcb was enabled, but the pre-condition features.thread && features.xkbcommon && libs.xcb failed 网上查了一圈&#xf…

交叉编译libxcb与X11

交叉编译libxcb与X11 编译前提工具安装 编译X11编译依赖项Xtrans编译依赖项xorgprotoXCB完成后编译X11X11完成 编译xcb编译依赖项xcb-proto编译依赖项libXau最后编译xcbXCB完成 扩展编译Xrandr编译依赖项util-macros编译依赖项Xrender编译依赖项Xext最后编译Xrandr 编译xcb-uti…

BGP基础

简述 在EGP协议中,引入了AS(Autonomous System,自治系统)的概念。AS是指由同一个技术管理机构管理,使用统一选路策略的一些路由器的集合。AS的内部使用IGP来计算和发现路由,同一个AS内部的路由器之间是相互…

BGP的各种属性

* BGP不会学习路由, 只会传递路由 * BGP选路原则 -- BGP的度量值叫做路径属性 -- 特有的属性包括: * 公认必选属性(AS-Path、Next-hop...) * 公认自选属性 * 任选可透明传递属性 * 任选非可透明传送属性 -- 公认属性: …

BGP简介、BGP与IGP的区别、BGP的优势有哪些?

BGP的背景 为方便管理规模不断扩大的网络,网络被分成了不同的AS(Autonomous System,自治系统)。 早期,EGP(Exterior Gateway Protocol,外部网关协议)被用于实现在AS之间动态交换路由…

BGP路由反射器RR

曾子曰:“吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎?” 文章目录 一、拓扑二、基础配置与分析三、BGP 13 条选路原则四、BGP路由反射器RR五、备份路由反射器 EBGP 对等体之间是不存在 BGP 路由反射器的…

BGP学习笔记

BGP的特征: BGP是外部路由协议,用来在AS之间传递路由信息。是一种路径矢量(Path-Vector)路由协议(AS_PATH)。 可靠的路由更新机制(TCP)(目的端口为179,源端口…

BGP命令行配置

BGP命令行简介 配置BGP的基本功能: 启动BGP进程: bgp 100//启动bgp指定as号 router-id 1.1.1.1 //配置BGP的router-id配置BGP对等体: 配置BGP对等体时,如果指定对等体所属的AS编号与本地AS编号相同,表示配置IBGP对…

BGP简介,以及使用BGP的原因

通过本篇可以理解 BGP 的基础知识以及使用它的原因 BGP(边界网关协议)是将互联网联合在一起的路由协议,我将解释在哪些情况下我们需要 BGP 以及它是如何工作的。 在您继续阅读之前,我应该告诉您“忘记”迄今为止您对RIP、OSPF和…

BGP属性

一、属性分类 BGP属性是BGP进行路由决策和控制的重要信息。它可以分为如下两大类四小类: 一、公认属性 公认必遵(Well-known mandatory )公认可选(Well-known di scretionary ) 公认属性是所有运行BGP协议的系统都必须识别和支持的属性。 其中,公认必遵属性是BGP…

BGP的基本配置

目录 1,BGP建邻的基本配置 1,EBGP对等体关系直连建邻 2,IBGP对等体关系之间的环回建邻 3,EBGP对等体关系之间的非直连建邻 2,发布路由 1,network --- 在BGP中只能用来发布路由条目信息 2&#xff0c…

BGP与IGP之间的区别

IGP: interior gateway protocol—链路状态 BGP: border gateway protocol—距离矢量 都是实现路由信息的交换、学习 都能实现路由的功能 BGP一般用于大型网络,可容纳的路由信息更多;而IGP协议,对于路由条目的存储量是有限的&a…