이 포스트는 WSL2 - Ubuntu - ROS 설치 시 RVIZ 실행할 때 발생하는 문제점
qt.qpa.xcb: could not connect to display
qt.qpa.plugin : Could not load the QT platform plugin "xcb" in "" even though it was found.
문제를 해결하기 위해 작성한 포스트 이다.
해결방법은 WSL 설치 후 Windows Subsystem for Linux 을 설치하지 않을 시 발생하는 문제이다.
설치를 위해 아래와 같이 설정한다.
제어판 - 프로그램 및 기능 - Windows 기능 켜기/끄기로
Linux용 Windows 하위 시스템
가상 머신 플랫폼
Windows 하이퍼바이저 플랫폼
3가지를 활성화 한다. 이 중 Windows 하이퍼 바이저 플랫폼은 WSL로 설치한 우분투에 Docker 등을 활성화 할때 사용되는 추가기능이다.
🎮 따라하는 부분
WSL 설치는 PowerShell을 실행하여 설치한다.
(필자는 관리자 권한으로 실행을 권장한다. 이는 향후 USBIPD (WSL에서 USB기기 연결)을 사용할 때 주요하게 사용되기에 가급적 설치에는 관리자 권한으로 하는게 낫다...)
PowerShell을 실행한 뒤에는 아래의 명령어를 실행한다
$ wsl --install
위 명령어를 실행한 뒤에는 WSL을 통해 실행하고자 하는 우분투 버전을 설정하면 된다. 필자는 Ubuntu-20.04를 설치했다.
$ wsl --install -d Ubuntu-20.04
??? 문자가 뜨면서 error: 0x800701bc
이 발생한 경우
위 사진처럼 ???와 함께 error: 0x800701bc
이 발생한다면 WSL-Linux커널이 설치가 되지 않은 상황이다.
https://learn.microsoft.com/ko-kr/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package
페이지에 나와있는 업데이트 패키지를 다운로드 받아도 되지만
wsl.exe --update
역시 페이지에 나와있는 wsl 업데이트를 수행해도 된다.
WSL-우분투 설치 후 실행이 안되는 문제 해결방법
지정된 파일을 찾을 수 없습니다.
Press any Key to continue...
위와 같이 WSL-우분투 실행시 실행불가 메세지가 발생한다면 이는 이전에 WSL설치 후 삭제한 뒤 등록 해제를 해줘야 하는데 하지 않아서 발생한 문제이다.
이는 PowerShell에서 아래 명령어를 쳐주면 된다
$ wsl --unregister Ubuntu-20.04
$ wsl --unregister [우분투 버전]
WSL을 설치한 후에는 Microsoft Store을 열어서 Windows Subsystem for Linux을 설치한다.
설치를 완료한 후 우분투 아이콘이나 마이크로소프트 스토어에 있는 우분투를 열기 하면 아래와 같이 ID/PW를 치면 정상 작동할 것이다
WSL2의 정상동작을 확인하기 위한 예시 GUI를 설치하는 파트이다.
이거는 선택사항이니 안해도 된다.
📒참고사항 : WSL-우분투는 CLI형식으로만 실행되며, 흔히 우분투를 일반 PC나 Virtualbox-가상화를 통해 설치하면 아래의 바탕화면이 뜨는게 정상이다
그러나 WSL-우분투는 CLI로만 실행되기에 바탕화면 없이 터미널 창만 뜨게 된다
이렇게 WSL-우분투는 위 터미널 창만 뜨는게 일반적이다.
그리고 WSL-우분투는 CLI형식으로만 실행이 기본이기에 GUI가 같이 수반된 프로그램이나 패키지 실행시 사전 설정이 필요한데
그 중 첫번째가 Windows Subsystem for Linux라 보면 된다.
WSL-우분투 창에서 아래의 패키지를 설치한다
$ sudo apt install x11-apps
해당 패키지 설치 후 xeyes
명령어 실행시 눈동자가 나온다면 정상출력이다.
이 과정까지 완료하였다면 rviz가 정상 동작할 것이다
참고로 rviz를 실행한 후에도 몇가지 랜더링이 안되는 현상이 있는데
(stl로 불러온 매쉬 파일이 랜더링이 안되는 문제...)
이거는 Nvidia CUDA를 추가로 설치해야 한다
이는 다음에 포스팅 하겠다.
https://learn.microsoft.com/ko-kr/windows/wsl/tutorials/gui-apps
https://www.youtube.com/watch?v=7Sym3uL6YWo&t=443s&ab_channel=TroubleChute
이 글은 저에게 많은 도움이 되었습니다.