설치 방법
- BIOS에서 virtuzlization을 활성화한다.
- 버전이 Windows 10 버전 2004 이상 혹은 Windows 11을 실행해야 한다.
- Linux용 Windows 하위 시스템을 활성화하여야 한다.
- 제어판에서 프로그램 > Windows 기능 켜기/끄기를 통해서 활성화할 수 있다.
- 관리자용 Powershell을 실행하여 다음의 명령어로 설치할 수 있다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 윈도우의 스토어에서 원하는 배포판을 설치한다.
- ROS2를 사용하기 위해서 Ubuntu 20.04를 설치하였다.
기본 설정
- 설치 이후에 기본적으로 다음의 명령어를 입력한다.
sudo apt update sudo apt upgrade
- WSL2의 우분투에서 시스템 명령어를 사용하려면 별도의 설정이 필요하다.
/etc/wsl.conf
파일을 생성한 후에 다음의 내용을 작성한다.[boot] systemd=true
- GUI 앱을 실행하기 위해서, 드라이버 설치 및 wsl 업데이트가 필요하다.
- 과거에는 x11 server 프로그램 설치 이후 별도의 설정을 통해서 gui 앱을 실행하여야 했다.
- 다음의 명령어를 통해서 업데이트를 실행한다.
wsl --install
- WSL2에서 USB 연결을 활성화하기 위해서 다음의 패키지를 설치한다.
- 윈도우에서 usbpid-win 파일을 다운받아 설치한다.
- 우분투에서는 다음의 명령어를 실행한다.
sudo apt install linux-tools-5.4.0-77-generic hwdata sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20
- 참고 : https://learn.microsoft.com/ko-kr/windows/wsl/connect-usb
- ROS2의 Gazebo 실행시에 검은 화면으로만 표시되는 경우가 있는데, 다음의 명령어를 입력한다.
sudo apt install mesa-utils export DISPLAY=localhost:0 glxgears
기본 명령어
- 우분투 재부팅은 자체 터미널가 아닌 Powershell에서 해볼 수 있다.
- Powershell을 관리자용으로 실행한 후
Restart-Service wslservice
라고 입력하면 된다.
- 구글링해보니
Restart-Service LxssManager
로 시도하라는 글이 많았지만, 작동하지 않았다.
- Powershell을 관리자용으로 실행한 후
- WSL의 상태 및 목록 확인은
wsl -l -v
를 실행해보면 된다.
- WSL2에서는 USB 디바이스를 연결하여 사용할 수 있는데, 별도의 명령어를 입력하여야 한다.
- 윈도우의 관리자용 Powershell에서 다음의 명령어를 통해서 연결을 허용할 수 있다.
usbipd wsl list # usbipd wsl attach --busid <busid> usbipd wsl attach --busid 1-12 usbipd wsl list # 상태 확인
- 우분투에서
lsusb
을 입력해서 연결된 USB 디바이스 목록을 확인할 수 있다.
- 윈도우의 관리자용 Powershell에서 다음의 명령어를 통해서 연결을 허용할 수 있다.