docker qxcbconnection: could not connect to display:0 亲测解决方法

基于weston报错: "Could not connect to display"问题的分析及延申 背景 基于weston使用qt或者gtk等UI框架显示应用程序的时候,需要明确是wayland平台还是x11平台,然后在run weston的时候选择合适的参数。 某些情况下在weston下运行demo时候会报错:Could not connect to display,通常网上的分析和采用的方法如下所示: 该错误是由于在远程或者串口终端环境下没有正确设置DISPLAY导致的。 在Linu... 阅读详情
AI摘要

博客讲述了在Docker环境下共享宿主机显示器时遇到的问题,主要错误为QXcbConnection: Could not connect to display:0。作者尝试了多种方法,包括安装X11-server和使用xhost+,但未成功。最终解决方案涉及到修改ssh配置,启用ForwardAgent、ForwardX11和ForwardX11Trusted选项,安装vncserver,并在启动docker容器时指定环境变量。通过这些步骤,成功解决了显示器共享问题并能正常使用rviz。

在docker中想共享宿主机的显示器时,遇到如下错误绝对是头疼中的头疼

QXcbconnection: could not connect to display:0

我这里宿主机用echo $DISPLAY时显示的是:0

注意如下都是在宿主机上操作。

网上查了有很多种方法
安装X11-server,xhost +的

sudo apt-get install x11-xserver-utils
xhost +

这样做之后还是会报同样的错误,连接不上display

下面是我试过的两个步骤,不知道是哪个步骤凑了效,反正是终于解决了
(上面的xhost + 也是要做的,不可省略)

1.设置ssh配置

sudo cp -p /etc/ssh/ssh_config /etc/ssh/ssh_config.BK
sudo vi /etc/ssh/ssh_config

改了如下3行(注释去掉,no改成yes)

Host *
   ForwardAgent yes
   ForwardX11 yes
   ForwardX11Trusted yes

还安装了sshd,在/etc/ssh/sshd_config中改了如下一行

X11Forwarding yes

之后重启了一下计算机

2.安装vncserver

sudo su  #在root权限下操作
sudo apt-get install tigervnc-standalone-server tigervnc-viewer
vncserver

输入一些密码就OK,中间也会报错,参考解决方法

再进入docker

docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY --env="QT_X11_NO_MITSHM=1" <image名>

用rviz测试,终于成功啦

qt.qpa.screen: Could not connect to any X display 解决方案 最近在使用linux服务器画图的时候突然遇到了如下报错: No protocol specified qt.qpa.screen: QXcbConnection: Could not connect to display :0 Could not connect to any X display. 没有使用plt.show()或者imshow()之类的操作。在.bashrc中更改DISPLAY:=0也没有办法解决。 解决方案: import matplotlib matplotlib.use('Agg' 阅读详情

相关推荐

解决qt.qpa.xcb: could not connect to display问题

解决qt.qpa.xcb: could not connect to display问题

诗和远方,代码和你 1万+

QXcbConnection: Could not connect to display

#在linux 服务器上面运行代码 出现QXcbConnection: Could not connect to display 这样的 错误 首先 vim ~/.bashrc 然后在里面添加 export QT_QPA_PLATFORM='offscreen' 即时生效 source ~/.bashrc 这样就可以额 每次修改.ba...

qq_31159375的博客 3万+

Ubuntu上用Docker部署Odoo的完整实践指南

Docker 是一种轻量级容器化技术,通过镜像封装应用及其依赖,实现环境隔离与跨平台一致运行。其核心原理基于 Linux 命名空间和 Cgroups,保障进程、网络、存储等资源的强隔离与可控分配。在企业级业务系统如 Odoo 的部署中,Docker 显著提升开发-测试-生产环境的一致性,规避 Ubuntu 系统下常见的 Python 版本冲突、PostgreSQL 主版本升级失败、多 Odoo 版本共存难等运维痛点。典型应用场景包括快速搭建 Odoo 14/16 开发环境、交付可复现的客户演示系统、CI/C

weixin_30444105的博客 385

解决QXcbConnection: Could not connect to display 已放弃 (核心已转储)

文章目录问题产生:解决方案:测试阶段 问题产生: 我想在自己笔记本电脑上,远程连接机器人的工控机后进行可视化显示。 ssh nvidia@192.168.1.109 (对应工控机用户名和IP,区分下面工控机的名字) 试图远程打开工控机可视化界面显示核心已转储 主要是由于工控机上没有外接显示屏,导致不能显示。 解决方案: 如何查看同一个网段下的电脑,我的工控机和电脑是连接同一个路由器,这里我通过路由器查看。 1, 输入网址,查看IP地址: http://tplogin.cn/ 或者 192.168.1.1

harrycomeon的博客 9718

别再为Gazebo闪退抓狂了!手把手教你排查ROS Melodic下的常见安装坑(附显卡加速配置)

本文详细解析了ROS Melodic中Gazebo仿真环境常见的闪退和卡顿问题,提供了从基础排查到高级调优的全套解决方案。特别针对NVIDIA显卡用户,分享了显卡驱动配置、3D加速优化等实用技巧,帮助开发者彻底解决Gazebo运行不稳定问题,提升机器人仿真开发效率。

weixin_30448603的博客 315

ROS1软件源配置脚本:解决Ubuntu下apt update失败问题

ROS1并非操作系统,而是机器人开发的核心中间件框架,其稳定运行高度依赖正确的APT软件源配置。由于ROS1发行版(如noetic、melodic)与Ubuntu系统版本(focal、bionic)强绑定,且官方源在国内访问受限,用户常遭遇‘无法定位软件包’‘NO_PUBKEY错误’或‘command not found’等典型问题。本质是系统级依赖源未适配导致的环境初始化失败。通过自动化脚本统一处理版本映射、GPG密钥兼容(适配新旧APT)、多镜像站切换(清华/中科大/阿里云)及原子化写入,可实现开箱即用

hck341204的专栏 188

qt.qpa.screen: QXcbConnection: Could not connect to display unix:0 Could not connect to any ...

Python在linux生成图片,linux报错如标题 解决: 在运行py之前输入:export DISPLAY=:0

大AI时代,人性化的信息更加难得可贵 164

Ubuntu 24.04下EasyConnect兼容方案:LD_PRELOAD+AppImage实战

EasyConnect作为高校与政务场景主流SSL VPN客户端,其依赖OpenSSL 1.1和Qt5等旧版ABI库,在Ubuntu 24.04(内核6.8/glibc 2.39/OpenSSL 3.0/Wayland默认)环境下因ABI断裂导致段错误、模块加载失败或GUI崩溃。其本质是封闭二进制对系统级动态链接的强耦合,需通过隔离运行时环境实现兼容。技术路径上,AppImage封装可避免污染系统库,结合LD_PRELOAD劫持关键符号(如SSL_CTX_new),精准覆盖libssl.so.1.1缺失与版

weixin_30887919的博客 328

Ubuntu18.04基于docker环境跑通PL-VINS

Ubuntu18.04基于docker环境跑通PL-VINS

fxmtb的博客 752

ROS 2 Bouncy Bolson:工业级跨平台稳定性的技术基石

ROS 2 是机器人操作系统向实时性、跨平台与工程化演进的关键阶段,其核心在于中间件抽象(RMW)、构建系统(colcon)与生命周期管理等底层机制的成熟。Bouncy Bolson 作为第二个正式发行版,首次实现 Windows 10/macOS/ARM64 的完整二进制支持,并确立 Fast-RTPS/Connext/OpenSplice 多中间件共存架构,使 ROS 2 从‘可运行’迈向‘可部署’。它以 C++14 兼容性锚定 Ubuntu 16.04/Xenial 等工业旧系统,通过 launch

tomfish 491

Ubuntu 14.04 下部署 Calibre 服务器的完整实践指南

Calibre 服务器本质是一个基于 Python 和 Qt 的轻量级 HTTP 图书服务框架,其核心原理依赖于 CLI 驱动、X11 虚拟显示(如 xvfb)与 SQLite 元数据数据库协同工作。技术价值在于将桌面电子书管理工具转化为多设备可访问的家庭数字图书馆基础设施,具备低资源占用、无头运行、权限隔离等工程优势。典型应用场景包括老旧 ARM 设备(如树莓派)、内网 NAS、离线教育终端及多租户家庭阅读环境。本文聚焦 Ubuntu 14.04 这一经典 LTS 版本,深入解析 calibre-serv

weixin_30682415的博客 425

关于远程rviz报错的解决方案

本文旨在记录调试ros程序中遇到的错误并给出相应的解决方案

m0_65045487的博客 2707

【Gazebo安装指南】Ubuntu22.04LTS环境下的高效配置与常见问题解决

本文提供了在Ubuntu 22.04 LTS系统上高效安装和配置Gazebo仿真环境的详细指南。针对Gazebo Classic版本,文章对比了通过ROS 2仓库和Ubuntu官方仓库两种主流安装方法,并重点解决了安装过程中常见的软件包定位、模型下载及图形驱动等问题,帮助用户快速搭建稳定的机器人仿真开发环境。

weixin_29279101的博客 434

Ubuntu 18.04下Snap应用打包与发布实战指南

Snap是一种面向Linux桌面的现代应用分发技术,其核心是通过自包含运行时环境解决长期存在的依赖地狱问题。它基于内容寻址镜像、严格沙盒(AppArmor/Seccomp)和原子化更新机制,实现跨发行版兼容与安全隔离。技术价值体现在确定性部署、一键回滚与权限最小化控制,广泛应用于Ubuntu桌面生态、IoT设备及CI/CD交付场景。本文聚焦Ubuntu 18.04(bionic)平台,详解snapcraft.yaml配置规范、strict confinement权限模型、core18基础镜像适配及Snap

weixin_30698527的博客 317

5G核心网NAS消息解析:从协议字段到实际抓包分析(附Wireshark示例)

本文深入解析5G核心网NAS消息的实战分析方法,从协议字段解读到实际Wireshark抓包诊断。通过详解扩展协议鉴别器、安全头类型、流程事务标识等核心字段,并结合注册流程故障排查实例,指导工程师快速定位NAS层问题,提升5G网络调试与协议分析效率。

grass的博客 532

Hypermesh联合ABAQUS—Sets的建立和编辑

打开part copy对话框在对话框的最上面位置可以输入copy后的名称,然后将最下面的Separate disconnected regions into parts(将不连续的区域分割成parts)选项的前面方框勾选上。打开abaqus软件界面,File→import→model,将file filter选为inp格式,找到要导入的有限元文件,单击OK导入文件。HyperWorks新建Set时,会在Model Browser显示,打开Create Set对话框显示详细信息。快捷键,高亮set的内容。

动力资料屋的博客 1289

QXcbConnection: Could not connect to display :0

No protocol specified qt.qpa.screen: QXcbConnection: Could not connect to display :0 Could not connect to any X display. xclient 连接到 xserver 的过程中要进行认证,认证使用 ~/.Xauthority 文件来完成,这个文件是由 xauth 命令进行管理的。 在终端中 strace 能够发现 cannot find ~/.Xauthority 这个打印,复制到 chroot

龙瑜的博客 4732

TC3xx系列LMU与SPR实战:将关键算法从Flash搬移至PSPR提升5倍执行效率

在实际电机控制项目中,通过将FOC算法全部迁移到PSPR,我们不仅将执行时间从56μs降至11μs,还将最坏情况下的时间偏差控制在±0.3μs以内。实测数据:在TC397上执行Flash中的32位浮点矩阵乘法,平均每条指令需要8.7个周期,而同样的代码在PSPR中仅需1.2个周期。传统开发中,工程师往往将所有代码放在Flash中运行,这相当于让F1赛车在乡村公路上行驶。迁移后不仅平均执行时间缩短,更重要的是时间抖动从±15%降低到±2%以内,这对闭环控制系统至关重要。不是所有代码都适合迁移到PSPR。

weixin_31421613的博客 296

QXcbConnection: Could not connect to display 的解决方法

QXcbConnection: Could not connect to display 的解决方法

m0_37859875的博客 6638

Elsevier投稿别再踩坑了!手把手教你搞定LaTeX模板和所有附件(附避坑清单)

本文详细解析Elsevier投稿全流程中的关键环节,特别是LaTeX模板的使用和系统提交的常见问题。从必备文件准备到LaTeX模板适配,再到投稿系统操作指南,提供全面的避坑清单和实用技巧,帮助科研工作者高效完成投稿,避免因格式错误或文件遗漏导致的退稿风险。

weixin_30915275的博客 551

(汇总篇)语义SLAM相关开源方案| 全球优秀作者与实验室 | SLAM学习资料整理

SLAM 与深度学习相结合的工作当前主要体现在两个方面,一方面是将语义信息参与到建图、位姿估计等环节中,另一方面是端到端地完成 SLAM。针对建图的工作一方面是利用几何信息进行稠密重建,另一方面很多工作利用语义信息达到了很好的语义重建效果,三维重建、SFM。动态 SLAM 也是一个很值得研究的话题,这里不太好分类,很多工作用到了语义信息或者用来三维重建,收集的方案相对较少。优化可能是 SLAM 中最难的一部分了吧 +_+ ,一般都是直接用现成的因子图、图优化方案,要创新可不容易。

熊猫小妖的AI世界 7866

Uos-qt.qpa.screen: QXcbConnection: Could not connect to display. Could not connect to any X display.

系统环境:UOS系统显示系统:X11在使用 ssh 去远程电脑时候,需要启动对应的图形化软件,报如下错误启动图形化应用。

洪源兄 1701

CarSim仿真高级进阶---VS 命令行

仿真软件作为一种强大的工具,被广泛应用于汽车工程领域,本文将介绍如何使用VS命令行进行CarSim仿真的高级进阶操作,我们将结合相关的源代码和描述,帮助读者更好地理解和应用这一功能。打开Visual Studio,在“文件”菜单下选择“新建”->“项目”,然后选择“控制台应用程序”模板,填写项目名称和位置,点击“确定”按钮创建项目。保存源代码后,点击菜单中的“生成”->“生成解决方案”来构建项目,确保构建成功,没有任何错误。点击“编辑”按钮,在弹出的窗口中点击“新建”按钮。,并拥有有效的许可证。

weixin_50547796的博客 308

qt.qpa.screen: QXcbConnection: Could not connect to display(vnpy,云主机,图形界面)

qt.qpa.screen: QXcbConnection: Could not connect to display(vnpy,云主机,图形界面)

weixin_45860565的博客 1213

LPDDR6 Efficiency Mode 技术探讨

LPDDR6 Efficiency Mode 技术探讨

zilan23的博客 1155

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: vncserver: Failed command ‘/etc/X11/Xvnc-session‘: 256!
下一篇: leetcode 406. Queue Reconstruction by Height(按身高重建队列)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值