We welcome the new release of ROS 2 Humble which targets the recently released Ubuntu 22.04. If you want to install it now, please visit the ROS 2 Humble documentation.
But if you want to install ROS 2 Humble and test compatibility, keeping your current Ubuntu (20.04, 18.04,…) environment stable until you know you are ready to upgrade, you can dive into LXD containers.
In this blog post, we’ll create an LXD container running 22.04, that will allow us to easily install ROS 2 Humble at the convenience of our current Ubuntu station.
If this is the first time that you are using LXD, let’s start by installing it:
sudo snap install lxd
Before you can create an instance, you need to configure LXD.
Let’s create a minimal setup with default options by adding the –minimal flag. If you want to learn more about the different configuration options, see Interactive setup for an explanation.
sudo lxd init --minimal
To launch a new container, you just need the following command:
lxc launch :
Without root access, users must be added to the lxd group. To do so, run sudo usermod -a -G lxd $USER
and reboot the computer.
For installing ROS 2 Humble we need to launch a container with an Ubuntu 22.04 image from the images server using the instance name ubuntu-container, enter the following command:
lxc launch images:ubuntu/22.04 ubuntu-container
Once created, the container will be running. To see all the created LXD containers, run reboot lxc list
Let’s start a shell in the created container to run commands directly. Enter the following command:
lxc exec ubuntu-container -- /bin/bash
By default, you are logged in as the root user. If you want to log in as a different user, enter the following command:
lxc exec -- su --login
Now, inside the shell of the created container, let’s install ROS 2 Humble by following the installation instructions.
Once you have installed ROS 2 Humble you are ready to start exploring this new ROS distribution. But you can also change the name of your container.
To do so, first, stop the container to rename it
lxc stop ubuntu-container
Then just run the command:
lxc move {old-lxc-name} {new-lxc-name}
So let’s rename it to ros-humble
lxc move ubuntu-container ros-humble
LXD provides a number of handy commands for working with containers. For instance, we can clone a container by simply using the lxc copy command:
lxc copy ros-humble ros-humble-2
When work with the container is complete, simply remove it:
lxc delete ros-humble-2
If you want to learn more about LXD and how to tweak it to your workflow, visit the documentation. You may also read our previous posts on how to make a $HOME of your container, or how to expand your ROS development workflow with LXD including how to enable graphical applications!
Help improve this document in the forum.
Our latest Canonical website rebrand did not just bring the new Vanilla-based frontend, it also…
At Canonical, the work of our teams is strongly embedded in the open source principles…
Welcome to the Ubuntu Weekly Newsletter, Issue 873 for the week of December 29, 2024…
Have WiFi troubles on your Ubuntu 24.04 system? Don’t worry, you’re not alone. WiFi problems…
The following is a post from Mark Shuttleworth on the Ubuntu Discourse instance. For more…
I don’t like my prompt, i want to change it. it has my username and…