Skip to content

🤖 How do I run ROS Noetic without VM?

Good News🚀

No need for a VM or Windows experimental features

Getting started

In this guide, we will be using the Windows Subsystem for Linux (WSL) to run ROS Noetic. This is a great way to get started with ROS without having to install a VM or use experimental features on Windows.

Note: ROS Noetic is only supported on Ubuntu 20.04 (Focal Fossa) and Ubuntu 20.10 (Groovy Gorilla).

Windows Subsystem for Linux is a compatibility layer for running Linux binary executables natively on Windows 10 and Windows Server 2019.

Installing WSL 2

Using Ubuntu 20.04 LTS (Focal Fossa)

Ubuntu microsoft store

Video

Installing ROS Noetic

To keep the guide short, we will be using this custom script I’ve written, to run just copy paste the following command in your terminal.

Shell Script

Terminal window
sh -c "$(curl -fsSL https://abhijithganesh.com/noetic.sh)"

What does the script do?

Donot run this code

#!/usr/bin/bash
sudo apt update -y
echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros-latest.list
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | gpg --dearmor - | sudo tee /usr/share/keyrings/ros-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros-latest.
sudo apt update -y | grep -i "package.ros.org"
sudo apt install ros-noetic-desktop -y
Brief overview:
  • Update the apt package index
  • Add the ROS repository to the sources list
  • Add the ROS keyring
  • Update the apt package index again
  • Install ROS Noetic

Setting up ROS Noetic

Terminal window
echo '
cd /opt/ros/noetic/
source setup.bash
cd
' >> ~/.bashrc

This command will add the source command to the bashrc file so that you don’t have to source it everytime you open a new terminal.

What next?

Jump to installing GUI for the WSL Connect to the WSL GUI via Remote desktop protocol