docker 使用GUI ROS2

终极解决方案:重新配置 VcXsrv + 替换显示地址

第一步:彻底重启 VcXsrv(Windows 端,关键!)
  1. 右键 Windows 任务栏右下角的 VcXsrv 图标 → 选择 Exit,完全关闭 VcXsrv;

  2. 按 Win + R 输入 cmd,以管理员身份启动命令提示符;

  3. 在管理员 cmd 中执行以下命令启动 VcXsrv(强制关闭访问控制,避免图形界面设置遗漏): cmd

    复制代码
    "C:\Program Files\VcXsrv\vcxsrv.exe" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl -dpi auto

    说明:-ac 就是 Disable access control(关闭访问控制),这是解决连接拒绝的核心参数。

第二步:在容器内替换 DISPLAY 地址(用 Windows 本机 IP)

host.docker.internal 偶尔会有解析问题,直接用 Windows 的实际 IP 更稳定:

  1. 在 Windows 端按 Win + R 输入 cmd,执行 ipconfig,找到 WLAN / 以太网 的 IPv4 地址(比如 192.168.1.100);

  2. 在容器内执行(替换成你的 Windows IP): bash

    运行

    复制代码
    # 用 Windows 实际 IP 替换 display 地址
    export DISPLAY=192.168.1.100:0
    export QT_X11_NO_MITSHM=1
    
    # 重新测试 xeyes(此时应弹出窗口)
    xeyes
第三步:启动 rviz2

如果 xeyes 能正常显示,直接启动:

bash

运行

复制代码
source /opt/ros/humble/setup.bash
rviz2

兜底方案:若仍无法连接(检查 Windows 防火墙)

  1. 临时关闭 Windows 防火墙:
    • 打开 Windows 设置 → 隐私和安全 → Windows 安全中心 → 防火墙和网络保护;
    • 依次关闭 "专用网络""公用网络" 防火墙(测试完成后记得打开);
  2. 重新在容器内执行 xeyes,确认是否能显示。

为什么之前的配置无效?

  1. 图形界面启动 VcXsrv 时,可能误操作没勾选 Disable access control,用命令行启动能强制生效;
  2. host.docker.internal 依赖 Docker 网络解析,偶尔会失效,直接用 Windows 本机 IP 更可靠;
  3. Windows 防火墙默认会拦截 X11 端口(6000),导致容器无法连接显示。

总结

  1. 核心问题是 VcXsrv 未关闭访问控制 或 Windows 防火墙拦截,而非容器内配置;
  2. 用命令行启动 VcXsrv(带 -ac 参数)+ 替换为 Windows 实际 IP,能解决 99% 的连接拒绝问题;
  3. xeyes 能显示 → rviz2 必能启动,反之先排查 VcXsrv 和防火墙。

按这个步骤操作,你就能看到 rviz2 的 GUI 窗口了。如果 xeyes 仍提示 Can't open display,告诉我你的 Windows IP 和 VcXsrv 启动方式,我帮你定位最后一步问题。

相关推荐
JIAOZHANZHISHIKU10 小时前
机器人外壳粘接性价比怎么选?3M VHB 胶带与结构胶解决方案
经验分享·机器人·工业胶粘剂·3m胶粘剂
Easy_API11 小时前
2.8万亿参数,编程反超GPT-6 Astra:Kimi K3.1 Pro把开源模型推到了哪一步
大数据·人工智能·gpt·深度学习
GlobalInfo11 小时前
2026年机器人多指灵巧手市场分析报告——涵盖行业调查、趋势分析与发展前景
大数据·人工智能·microsoft·微服务·机器人
紧跟先前的步伐11 小时前
Go AI Agent 实战 24|工具系统工程化收尾与阶段验收
人工智能·ai·golang·1024程序员节
释厄62312 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
老金带你玩AI13 小时前
集万家所长,一键复制的Agent.md!
人工智能
ZhuoAIStage13 小时前
舞台工艺多专业审图提速:用 AI 智能体编排 A+B+C+G 四段读图流水线
人工智能·自动化·工作流编排·舞台工艺·审图智能体
小奶包他干奶奶13 小时前
AI学习——1、机器学习概念
人工智能·机器学习
展讯快报13 小时前
悬浮提词器免费App评估报告:说得AI的免费策略与可用性分析
人工智能
Yuzhiyuxia13 小时前
【AI Agent面试系列】AI Agent记忆机制知识点1
人工智能·面试·职场和发展