Fedora优雅开发ROS2指南


Fedora优雅开发ROS2指南

ros2官方并不支持Fedora系统,想要少踩坑 不管是在win 还是非官方支持的linux系统上开发ros2 虚拟机永远是比较好的选择,当然不是那种传统的虚拟机,而是基于容器技术的虚拟机 这种虚拟机的性能和效率都非常好,几乎和直接在主机上开发一样,甚至更好

win上可以简单的使用wsl直接安装ubuntu系统,安装ros2后就可以直接开发了,效率非常高,几乎没有什么性能损失

但我的主力开发平台是fedora 所以本文主要介绍在fedora上使用distrobox来开发ros2的方案,distrobox是一个基于podman的工具,可以非常方便的创建和管理容器,支持多种linux发行版,非常适合在fedora上开发ros2 效果可以和win上的wsl一样,体验很好

安装distrobox

sudo dnf install distrobox

创建一个Ubuntu容器

distrobox create –name ubuntu-ros –image ubuntu:24.04

进入容器(就像wsl命令)

distrobox enter ubuntu-ros

在容器内安装ros2

这里参考官方文档即可 注意匹配好ros2版本和ubuntu版本 推荐用预编译的deb包安装,而不是自己编译,效率更高

使用vscode开发

vscode安装remote container插件,然后在配置这个插件里把默认的docker改成podman就可以了 这样就可以直接在vscode里打开容器里的代码进行开发了

ros2 gui显示

fedora是默认使用wayland的,而ros2的gui默认是x11的,所以需要安装xwayland来支持ros2的gui显示 sudo dnf install xwayland

export QT_QPA_PLATFORM=xcb export DISPLAY=:0