码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • (最新+详细+Pycharm远程调试GUI程序)解决qt.qpa.xcb: could not connect to display问题


    (最新+详细+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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    解决方法

    因为用的是云服务器,我也不能去他那里外接个显示器,而且我也是没有装图形化界面的,如果有图形化界面可以使用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
    
    • 1

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

    vi /etc/ssh/sshd_config
    
    • 1

    修改两个配置项

    X11Forwarding yes
    X11UseLocalhost no
    
    • 1
    • 2

    之后重启ssh服务

    service ssh restart
    
    • 1

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

    xclock
    
    • 1

    xclock
    成功!

    附录

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

    设置共享目录

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

    修改环境

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

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

    echo $DISPLAY
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    大厂秋招真题【贪心】美团20230826秋招T2-小美的数组重排
    计算机网络例题答案
    【经验分享】如何使用VSCode对比两个文件
    力扣每日一题-第63天-867. 转置矩阵
    使用xml配制reids
    New Work New Life
    【npm开发指南(1)】从npm包的开发,发布到引用
    [附源码]Python计算机毕业设计Django海南与东北的美食文化差异及做法的研究展示平台
    Linux基础
    LeetCode 热题 HOT 100 第八十一天 647. 回文子串 用python3求解
  • 原文地址:https://blog.csdn.net/qq_42840203/article/details/127935439
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号