WSL2에 설치된 우분투에서 GUI 프로그램을 실행하기 위해 /etc/resolv.conf의 nameserver IP를 확인하여 환경변수 DISPLAY에 넣는 과정을 스크립트로 작성한 과정을 다룹니다.
2021. 9. 4 - 최초 작성
윈도우 10에 WSL2를 설치하여 Ubuntu 22.04를 설치했습니다.
https://webnautes.tistory.com/1847
WSL2에 설치된 우분투에서 GUI 프로그램을 실행하려면 Xming X Server for Windows가 필요한데 우분투 쪽에서 /etc/resolv.conf 파일의 nameserver IP를 확인하여 DISPLAY 환경 변수에 넣어주는 작업이 필요합니다.
문제는 이 nameserver가 자주 바뀐다는 것이지요. 매번 확인하여 입력하기 번거롭습니다.
그래서 구글 검색엔진의 도움을 빌어 스크립트를 작성해봤습니다.
1단계 - 파일의 마지막 줄 출력
참고 https://kldp.org/node/90206
/etc/resolv.conf의 마지막줄을 출력하면 nameserver IP를 얻을 수 있습니다.
그래서 tail 명령을 사용하여 마지막 1줄만 출력했습니다.
webnautes@DESKTOP-8TRVTF8:~$ tail -1 /etc/resolv.conf
nameserver 172.28.112.1
2단계 - 두번째 컬럼 출력
참고 https://ahnty0122.tistory.com/29
앞에서 nameserver IP가 포함된 한 줄을 얻기는 했지만 nameserver라는 문자열을 제거할 필요가 있습니다.
두번째 열을 가져오면 되겠다 싶었습니다.
tail의 출력 결과를 받은 awk 명령이 두번째 컬럼만 출력하도록 했습니다.
webnautes@DESKTOP-8TRVTF8:~$ tail -1 /etc/resolv.conf | awk '{print $2}'
172.28.112.1
3단계 - 실행 결과를 변수에 저장
이제 쉘스크립트를 작성해봅니다. 바로 적용해도 되지만 앞에서 얻은 nameserver IP를 변수에 저장하는게 좋아보입니다.
tail과 awk 명령을 사용하여 IP를 얻어온 결과를 변수 IP에 저장하고 시험삼아 화면에 출력하도록 쉘스크립트를 작성합니다.
주의할점은 변수 IP에 저장하는 앞부분에서 IP = $ 처럼 공백을 두면 안되고 IP=$ 처럼 공백없이 입력해야 합니다.
#!/bin/bash IP=$(tail -1 /etc/resolv.conf | awk '{print $2}') echo $IP |
nameserver.sh라는 파일에 복사하여 저장하고 실행 가능하도록 퍼미션을 조정한 후 실행시켜 봅니다.
webnautes@DESKTOP-8TRVTF8:~$ nano nameserver.sh
webnautes@DESKTOP-8TRVTF8:~$ chmod +x nameserver.sh
webnautes@DESKTOP-8TRVTF8:~$ ./nameserver.sh
172.28.112.1
4단계 - 환경변수 DISPLAY에 저장
참고 https://stackoverflow.com/a/19961739
Xming X Server for Windows에서 요구하는 형식으로 nameserver IP를 환경변수 DISPLAY에 저장하도록 쉘스크립트를 수정합니다. echo로 환경변수 DISPLAY에 값을 저장하는 문자열을 출력하면 됩니다.
#!/bin/bash IP=$(tail -1 /etc/resolv.conf | awk '{print $2}') export DISPLAY=$IP:0 |
nameserver.sh 쉘스크립트를 실행합니다. Xming X Server for Windows가 실행된 상태여야 합니다.
터미널에서 gedit를 실행시며보면 정상적으로 실행되는 것을 볼 수 있습니다.
webnautes@DESKTOP-8TRVTF8:~$ source ./nameserver.sh
webnautes@DESKTOP-8TRVTF8:~$ gedit
이제 터미널 실행시 바로 실행되도록 ~/.bashrc의 마지막줄에 source nameserver.sh만 추가하면 됩니다.
'개발 환경 > WSL2 개발환경' 카테고리의 다른 글
Windows에 설치한 WSL2 및 Ubuntu 삭제하는 방법 (0) | 2024.06.23 |
---|---|
WSL2를 설치하여 Ubuntu 22.04 사용하는 방법 (0) | 2024.03.11 |
Visual Studio Code와 WSL 연동하여 C/C++ 컴파일 및 디버깅하기 (0) | 2023.10.20 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!