You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11下Docker部署ERC仿真遇xhost错误及可视化问题求助

解决Windows11下Docker部署ERC远程维护仿真的可视化问题

1. 安装X11服务器工具

Windows无原生xhost命令,需先部署X11转发工具实现容器图形界面输出,推荐使用VcXsrv:

  • 从微软商店或官方渠道下载安装VcXsrv
  • 启动VcXsrv时,选择Multiple windows模式,后续步骤务必勾选Disable access control(否则容器无法连接X服务器),完成启动

2. 配置Docker容器的X11转发参数

步骤1:获取Windows主机IP

在Git Bash或PowerShell中执行:

ipconfig

找到当前网络(WLAN/以太网)的IPv4地址,例如192.168.3.12

步骤2:修改run_ur3_docker.bash脚本

  • 删除脚本第一行的xhost +命令(Windows环境不支持)
  • 在docker run启动命令中添加X11转发相关参数:
    -e DISPLAY=<你的Windows主机IP>:0.0 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    
    示例完整启动片段:
    docker run -it \
      --name erc_ur3_sim \
      --net=host \
      -e DISPLAY=192.168.3.12:0.0 \
      -v /tmp/.X11-unix:/tmp/.X11-unix \
      erc_ur3_image \
      /bin/bash
    

步骤3:临时设置环境变量(可选)

若容器仍无法连接X服务器,在Git Bash中执行(替换为你的主机IP):

export DISPLAY=192.168.3.12:0.0

3. 重新启动容器验证

  • 清理旧容器(若已启动):
docker stop erc_ur3_sim
docker rm erc_ur3_sim
  • 执行bash run_ur3_docker.bash启动新容器
  • 进入容器后运行roslaunch ur3_Sim simulation.launch,此时rviz、gazebo等可视化界面应正常显示

排查要点

  • 确认VcXsrv处于运行状态,且Disable access control已勾选
  • 检查Windows防火墙未阻止VcXsrv的网络请求
  • 若使用动态IP,每次重启网络后需重新获取并设置主机IP到DISPLAY变量

内容的提问来源于stack exchange,提问作者Speedtail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 05:00:07