wsl --set-default-version 2
# 시스템 패키지 목록 업데이트
sudo apt update
# 패키지 업그레이드(권장)
sudo apt upgrade -y
# curl 설치(ROS key 추가 시 필요)
sudo apt install curl -y
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
# focal은 Ubuntu 20.04의 코드명
echo "deb http://packages.ros.org/ros/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros-noetic.list
sudo apt update
sudo apt install ros-noetic-desktop-full -y
# rosdep 초기화 및 업데이트
sudo apt install python3-rosdep
sudo rosdep init
rosdep update
# ROS 환경 변수 설정
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential -y
WSL2에서 RViz, rqt 등 GUI 관련 기능을 사용하려면 X 서버를 윈도우 측에 설치 후 연결.
다양한 방법이 있으나 대표적으로 다음을 사용가능.
아래와 같이 설정할 수 있음(예: VcXsrv 사용 시):

Multiple windows를 선택하고 Display number에 0을 입력.

Start no client로 놓고 넘어감.

Additional parameters for Vcsrv에 '-ac'를 입력.

Save configuration을 누름.

shell:startup을 입력하고 해당 디렉터리로 이동한 후 저장

마침을 눌러 설정
sudo nano ~/.bashrc
bashrc의 맨 아래줄에 아래 명령어 추가
export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0" # 혹시 몰라서 이것도 bashrc에 집어넣기
export LIBGL_ALWAYS_INDIRECT=1 # 이것도
bashrc를 다시 불러와서 적용하기
source ~/.bashrc
echo "export DISPLAY=$(ip route | grep default | awk '{print $3}'):0.0" >> ~/.bashrc
echo "export LIBGL_ALWAYS_INDIRECT=1" >> ~/.bashrc
source ~/.bashrc
# ROS 버전 정보 확인
rosversion -d
# 또는
roscore
roscore가 제대로 실행되면 설치가 정상적으로 이루어졌음을 의미.
노트북 재시작하고 우분투 키고 아래 명령어로 GUI 실행되는지 테스트
rqt

파워쉘에서 아래 명령어 입력
wsl --list --running
PS C:\WINDOWS\system32> wsl --list --running Linux용 Windows 하위 시스템 배포: Ubuntu(기본값) docker-desktop docker-desktop-data위와 같이 나옴
wsl --terminate Ubuntu
아래 명령어 입력하면 꺼짐.