WSL安装Gazebo
通过以上步骤,即可在WSL2 Ubuntu 22.04中完整搭建ROS2与Gazebo开发环境,并通过MobaXterm实现流畅的图形界面操作。,选择「MobaXterm Home Edition(免费版)」下载(推荐「Portable version」,无需安装,解压即可用)。等待几秒后,MobaXterm会弹出Gazebo主界面(首次启动需下载默认模型,耐心等待),界面无黑屏、无乱码则正常。,
为帮助你在WSL2 Ubuntu 22.04环境下顺利完成ROS2与Gazebo的安装,并通过MobaXterm实现图形界面显示,以下是分步骤、带详细说明的完整操作指南:
一、WSL2 安装 Ubuntu 22.04
1. 启用WSL2功能(Windows端操作)
-
打开Windows PowerShell(管理员身份),执行以下命令启用WSL和虚拟机平台功能:
wsl --install该命令会自动:① 启用WSL、虚拟机平台组件;② 下载Linux内核更新包;③ 安装默认Ubuntu发行版。
-
若需指定安装Ubuntu 22.04(而非默认版本),先查看可用发行版:
wsl --list --online再执行安装命令:
wsl --install -d Ubuntu-22.04 -
安装完成后,从Windows开始菜单启动「Ubuntu 22.04」,首次启动需设置用户名和密码(记牢密码,后续
sudo操作需使用)。 -
验证WSL版本(确保为WSL2):
在PowerShell中执行:wsl --list --verbose若输出中「VERSION」列显示「1」,执行以下命令切换为WSL2(替换
Ubuntu-22.04为你的发行版名称):wsl --set-version Ubuntu-22.04 2切换需等待几分钟(视系统性能而定),完成后再次验证版本。
二、更换 Ubuntu 22.04 系统源与 ROS2 源(清华源)
1. 备份原有源文件(避免操作失误无法恢复)
在Ubuntu终端中执行:
# 备份系统源(/etc/apt/sources.list)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 备份ROS2源(若已存在,无则忽略报错)
sudo cp /etc/apt/sources.list.d/ros2.list /etc/apt/sources.list.d/ros2.list.bak 2>/dev/null
2. 替换 Ubuntu 22.04 系统源(清华源)
执行以下命令,将系统源直接替换为清华源(适配Ubuntu 22.04,代号jammy):
sudo tee /etc/apt/sources.list <<-'EOF'
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
EOF
3. 配置 ROS2 清华源(适配ROS2 Humble)
-
导入ROS2官方密钥(用于验证源的合法性):
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg若出现「curl: (7) Failed to connect」,检查网络或手动下载密钥文件后上传至
/usr/share/keyrings/目录。 -
添加ROS2清华源:
sudo tee /etc/apt/sources.list.d/ros2.list <<-'EOF' deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/ jammy main EOF
4. 更新源缓存(使新源生效)
sudo apt update
若输出无「404 Not Found」或「GPG error」,则源配置成功。
三、安装 ROS2(Humble)与 Gazebo
1. 安装 ROS2 Humble 桌面完整版
ROS2 Humble 是适配Ubuntu 22.04的长期支持(LTS)版本,桌面完整版包含Gazebo基础依赖,执行:
sudo apt install -y ros-humble-desktop-full
安装过程需等待几分钟(视网络速度而定,清华源可大幅提速)。
2. 配置 ROS2 环境变量(每次启动终端自动加载)
# 将ROS2环境变量写入.bashrc
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
# 立即生效当前终端的环境变量
source ~/.bashrc
验证环境变量:执行ros2 --version,若输出「ros2 version: 0.18.3」(或相近版本),则ROS2基础环境配置成功。
3. 安装 rosdep 工具(管理ROS依赖)
# 安装rosdep
sudo apt install -y python3-rosdep
# 初始化rosdep(仅首次执行,需sudo)
sudo rosdep init
# 更新rosdep依赖库(无需sudo,否则会有权限警告)
rosdep update
- 若出现「Warning: running ‘rosdep update’ as root is not recommended」,执行以下命令修复权限后重新更新:
sudo rosdep fix-permissions rosdep update - 若出现「ERROR: unable to process source」,检查网络或手动修改
/etc/ros/rosdep/sources.list.d/20-default.list,将其中raw.githubusercontent.com替换为gitee.com/rosdistro/rosdistro/raw/master(适配国内网络)。
4. 安装 Gazebo 及 ROS2-Gazebo 桥接包
Gazebo 需单独安装完整版,且需桥接包实现与ROS2的通信:
# 安装Gazebo(默认安装最新稳定版,适配ROS2 Humble)
sudo apt install -y gazebo
# 安装ROS2与Gazebo的桥接包(核心组件,实现话题/服务通信)
sudo apt install -y ros-humble-gazebo-ros-pkgs
四、配置 MobaXterm 实现图形界面显示
1. 安装 MobaXterm(Windows端操作)
-
下载MobaXterm:访问MobaXterm官网,选择「MobaXterm Home Edition(免费版)」下载(推荐「Portable version」,无需安装,解压即可用)。
-
启动MobaXterm:双击解压后的
MobaXterm.exe,进入主界面。
2. 配置 MobaXterm SSH 会话(连接 WSL2 Ubuntu)
- 点击MobaXterm主界面左上角「Session」→ 选择「SSH」,进入会话配置页。
- 「Remote host」填写:
localhost(WSL2本地回环地址)。 - 「Specify username」填写:Ubuntu的用户名(首次启动Ubuntu时设置的用户名)。
- 展开「Advanced SSH settings」,勾选「X11-Forwarding」(关键!启用图形界面转发)。
- 点击「OK」,首次连接会提示「Host key verification failed」,点击「Yes」确认,随后输入Ubuntu密码,即可成功连接。
3. 配置 Ubuntu 图形显示环境(适配 MobaXterm)
在MobaXterm的Ubuntu终端中执行以下命令,配置图形显示变量(仅需执行一次,后续终端自动生效):
# 设置DISPLAY变量(MobaXterm自动分配,无需手动指定IP)
echo 'export DISPLAY=$SSH_DISPLAY' >> ~/.bashrc
# 禁用间接渲染(解决Gazebo图形卡顿问题)
echo 'export LIBGL_ALWAYS_INDIRECT=0' >> ~/.bashrc
# 立即生效配置
source ~/.bashrc
4. 验证图形界面与 Gazebo 运行
-
测试基础图形功能:安装
xclock(简单图形工具)并启动,验证MobaXterm图形转发是否正常:sudo apt install -y x11-apps xclock若弹出时钟图形窗口,则MobaXterm图形配置成功。
-
启动 Gazebo 验证:
gazebo等待几秒后,MobaXterm会弹出Gazebo主界面(首次启动需下载默认模型,耐心等待),界面无黑屏、无乱码则正常。
-
验证 ROS2 与 Gazebo 集成:启动ROS2控制的Gazebo空世界,测试通信是否正常:
ros2 launch gazebo_ros empty_world.launch.py若弹出Gazebo空世界,且终端无「ERROR」信息,执行
ros2 topic list,若输出/clock、/gazebo/link_states等话题,则ROS2与Gazebo集成成功。
常见问题解决
- Gazebo启动黑屏/卡顿:执行
export LIBGL_ALWAYS_SOFTWARE=1启用软件渲染,再启动Gazebo。 - 中文显示乱码:安装中文字体:
sudo apt install -y fonts-wqy-zenhei,重启终端后启动Gazebo。 - MobaXterm连接失败:检查WSL2是否运行(PowerShell执行
wsl --list --verbose,确保STATE为Running),或重启WSL2:wsl --shutdown后重新启动Ubuntu。
通过以上步骤,即可在WSL2 Ubuntu 22.04中完整搭建ROS2与Gazebo开发环境,并通过MobaXterm实现流畅的图形界面操作。
更多推荐

所有评论(0)