Ubuntu 20.04下Gazebo GUI无法打开求助(ROS Noetic环境)
Ubuntu 20.04(ROS Noetic)下Gazebo GUI启动失败/进程崩溃的解决办法
核心排查:虚拟机图形加速适配
你是Windows 10主机运行Ubuntu(大概率是虚拟机环境),高性能GPU需要正确配置虚拟化图形加速,否则Gazebo GUI无法调用硬件资源会直接崩溃:
- VMware用户:打开虚拟机设置→显示,勾选「加速3D图形」,显存分配至少512MB,同时确保主机GPU驱动为最新版本。
- VirtualBox用户:进入设置→显示,显卡控制器选择「VBoxSVGA」,勾选「启用3D加速」,显存拉至最大值。
- 验证GPU识别:终端执行
lspci | grep VGA,输出需包含主机GPU型号,否则说明图形加速未正确开启。
强制软件渲染绕开硬件兼容问题
如果硬件加速配置无效,可切换至软件渲染模式应急:
- 临时测试:终端先输入
export LIBGL_ALWAYS_SOFTWARE=1,再运行gazebo empty.world,查看GUI是否能正常启动。 - 永久生效:编辑
~/.bashrc文件,添加一行export LIBGL_ALWAYS_SOFTWARE=1,执行source ~/.bashrc保存配置。
修复ROS Gazebo依赖(针对错误码134)
错误码134属于内存访问错误,大概率是依赖包损坏或缺失:
- 重装gazebo_ros相关包:
sudo apt-get install --reinstall ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control - 更新系统所有依赖:
sudo apt-get update && sudo apt-get upgrade - 清理ROS工作空间缓存:进入你的catkin工作空间,执行
catkin clean && catkin build,清除旧编译缓存。
资源分配优化
复杂Gazebo场景需要足够的系统资源支撑:
- 给Ubuntu虚拟机分配至少4GB内存(建议8GB),CPU核心数分配2核以上。
- 关闭主机后台占用GPU/内存的程序(如游戏、视频剪辑软件),避免资源冲突导致Gazebo崩溃。
分步验证排查
- 先单独启动Gazebo:执行
gazebo,不通过ROS框架,确认GUI本身功能正常。 - 若单独启动正常,再测试ROS集成命令:
roslaunch gazebo_ros empty_world.launch。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

