WSL2의 Python 환경에서 tkinter와 같은 GUI 프로그램을 실행하는 방법
그건 그렇고, WSL2 환경에서 GUI 프로그램 (이 경우 tkinter)을 실행하려고하면
_tkinter.TclError: no display name and no $DISPLAY environment variable
와 오류가 발생했습니다.(여담: WSL(WSL1)의 경우, 아래에 소개하는 Xming Server의 설치(Additional parameters의 설정 없음)와 Ubuntu 등의 WSL 환경에서의 환경 변수의 변경만으로 대응할 수 있는 것 같습니다만, WSL2의 경우, 사양이 다르기 때문에 복잡한 절차를 거쳐야 합니다.)
Windows 측 대응
GUI 프로그램을 움직일 때 Windows 측에 Xming Server 되는 것을 설치하여 GUI 화면 출력을 할 수 있도록 합니다.
Xming Server 을 자신의 환경에서는 사용했지만 VcXsrv 쪽이 사용하기 쉬울지도 모릅니다. (기능은 함께)
설치하면 Xming Server의 경우 XLaunch, VcXsrv의 경우 그대로 앱을 시작하면 설정 화면과 같은 것이 나옵니다. 그대로 아무것도 변경하지 않고 Next를 길게 누르면 다음과 같은 화면이 나올 것이라고 생각하므로 Additional parameters for Xming에 -ac
를 입력하고 그대로 Next를 길게 눌러 설정을 완료합니다.
그러면 작업 표시줄(오른쪽 백그라운드 앱 위치)에 Xming Server 앱이 실행되고 있다고 생각하므로 마우스 오버하여 기록된 문자열을 확인합니다. 아래 그림과 같이 :0.0
등의 숫자를 확인해 주십시오. (나중에 사용합니다)
WSL2 환경 (Ubuntu) 설정
이번에는 우분투를 사용합니다.
GUI 프로그램을 움직이기 위해 DISPLAY라는 환경 변수를 설정해야합니다.
환경에 따라서 다릅니다만, 이번은 .bash_profile
에 환경 변수를 설정해 드리겠습니다.
.bash_profileexport DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
이것은 DISPLAY라는 환경 변수에 Xming Server를 지정하는 것이지만 일반적으로 DISPLAY=:0.0
와 같은 형식으로 설정할 수 있지만 WSL2 네트워크의 사양 변경에 의해 Windows 측의 IP 주소를 지정할 필요가 있으므로, 긴 명령입니다만, 이와 같이 설정해 줄 필요가 있습니다.
이러한 설정이 끝나면 GUI 프로그램이 실행됩니다.
Reference
이 문제에 관하여(WSL2의 Python 환경에서 tkinter와 같은 GUI 프로그램을 실행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/386jp/items/ab0ecee4400f70f3bd09
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번에는 우분투를 사용합니다.
GUI 프로그램을 움직이기 위해 DISPLAY라는 환경 변수를 설정해야합니다.
환경에 따라서 다릅니다만, 이번은
.bash_profile
에 환경 변수를 설정해 드리겠습니다..bash_profile
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
이것은 DISPLAY라는 환경 변수에 Xming Server를 지정하는 것이지만 일반적으로
DISPLAY=:0.0
와 같은 형식으로 설정할 수 있지만 WSL2 네트워크의 사양 변경에 의해 Windows 측의 IP 주소를 지정할 필요가 있으므로, 긴 명령입니다만, 이와 같이 설정해 줄 필요가 있습니다.이러한 설정이 끝나면 GUI 프로그램이 실행됩니다.
Reference
이 문제에 관하여(WSL2의 Python 환경에서 tkinter와 같은 GUI 프로그램을 실행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/386jp/items/ab0ecee4400f70f3bd09텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)