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

Ubuntu 18.04+ROS Melodic环境下Gazebo9无法启动问题求助

问题根因定位

从报错日志的Can't open display: :0、Could not connect to any X display字段可确认,故障核心是Gazebo的图形渲染组件无法获取X11显示服务的访问权限,常见于root用户启动、远程SSH未开X转发、环境变量配置错误三类场景。

分步排查&修复方案

  • 第一步:确认操作用户身份

    日志中XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'字段说明你大概率是用root用户运行的gazebo命令,Ubuntu默认禁止root用户访问普通用户的X11显示服务,两种修复方式:
    1. 切换回普通用户执行gazebo命令(优先推荐)
    2. 若必须用root运行,先在普通用户终端执行xhost +local:root,再切换root账号启动gazebo
  • 第二步:检查DISPLAY环境变量配置

    执行echo $DISPLAY查看输出,如果为空或不是:0(多显示器场景可能为:1),执行以下命令临时配置:
    export DISPLAY=:0
    
    需要永久生效可将上述命令写入~/.bashrc文件,执行source ~/.bashrc后生效
  • 第三步:远程SSH场景适配

    如果你是通过SSH远程连接Ubuntu主机启动gazebo,需要在连接时开启X转发:
    1. 远程主机先安装xauth工具:sudo apt install xauth
    2. 本地发起SSH连接时添加-X参数:ssh -X 用户名@远程主机IP
  • 第四步:无GUI场景降级方案

    如果你不需要图形界面仅需要后台运行仿真,可直接启动gazebo服务端模式跳过GUI加载:
    gzserver --verbose
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:24:05