[오류노트] WSL - VS code 연동 창이동/리사이즈 오류

오주·2026년 8월 1일

오류노트

목록 보기
1/3

[환경]
윈도우 파워셀 -> wsl ubuntu 설치후 실행 -> MobaXterm 실행후 우분투 리눅스 내부에서 파이썬 설치 진행 -> Maba Xterm 으로 VSCODE 실행시 창 이동이 불가하거나 한글폰트가 깨져서 나오는 문제.

[1단계 오류 : VS CODE 창이 이동/크기 조절이 안됨][원인1]

  • code . 가 우분투 안에 snap 으로 설치된 리눅스용 VSCODE를 실행시켰다
  • 리눅스 GUI 앱이므로 화면 출력을 위해 X11서버가 필요한데 이때 MobaXterm 내장 X11 서버를 사용하게 된다
  • MobaXterm 의 X11서버는 기본적으로 DWN(타일링 창 관리자) 를 사용하며 이방식은 일반적인 마우스를 이용한 창이동 사이즈 조절을 지원하지 않는다

(1단계)

which code # /snap/bin/code 로 나오면 리눅스용 VS Code
echo $DISPLAY # localhost:10.0 등으로 나오면 MobaXterm X11 서버를 타는 중

위와 같이 MobaXterm 리눅스에서 activate 한상태에서 확인 . 현재의 위취를 확인한다

(2단계)

sudo snap remove code

다음은 저장되어있는 vs code를 제거한다.

(3단계)

Get-ChildItem -Path "C:\Users\ADMIN\AppData\Local\Programs\Microsoft VS Code\Code.exe" -ErrorAction SilentlyContinue

윈도우 powershell 에서 vs 코드의 설치 위치를 확인한다. 만약 설치되어있지 않다면 vs코드를 설치하며 이때 PATH 등록 을 꼭 체크해준다 이후 vs코드 내부에서 wsl확장설치를 진행해준다.

ls "/mnt/c/Users/ADMIN/AppData/Local/Programs/Microsoft VS Code/bin/"

만약 우분투 내부에서 확인하고 싶을경우 위의 명령어를 입력하여 확인하면 된다

(4단계)

echo 'alias code="/mnt/c/Users/ADMIN/AppData/Local/Programs/Microsoft\ VS\ Code/bin/code"' >> ~/.bashrc
source ~/.bashrc

파워쉘 WSL 이나 우분투 내부에서 실행하여 alias 를 등록한다.

(5단계)

alias code

정상 등록이 되어있는지 확인한다.

(6단계)
컴퓨터 재부팅 또는 wsl과 MobaXterm 을 완전 종료후 재접속 하여 venv 를 activate 하고 code .을 재실행 하면 정상적으로 연결이 된다
만약 vs code는 실행이 되지만 wsl 연결이 안된다면 좌측 하단 >< remote 버튼을 클릭해 wsl을 선택 연결해준다

[결론]
bash 의 명령어 순서는 다음과 같다
1. alias 로 등록된게 있는지 먼저확인
2. 있으면 그걸로 대체
3. 없으면 그때야 $PATH에 등록된 여러경로를 순서대로 뒤져서 실제 프로그램을 찾음
4. 때문에 snap을 다시 설치해도 alis 등록이 우선시 된다
5. 만약 다시 snap으로 돌아가고 싶다면 alias 등록을 삭제하면 된다.

[오류: 리눅스 vs코드 실행하여 한글 확장자 설치시 한글이 ㅁㅁㅁ 으로 깨져서 나오는 문제]

sudo apt install -y fonts-nanum

해당 명령어를 리눅스에서 입력하여 한글폰트를 설치한다.
단 ! 오류1의 방식은 윈도우 내부에서 실행되기 때문에 이것과 별개로 실행된다.



[지식+]
X11 방식
X11 은 리눅스 GUI 프로그램이 화면에 그림을 그리기 위해 쓰는 오래된 프로토콜 이다.
X11은 화면을 그리는쪽인 Xserver 와 요청하는 X클라이언트로 분리되어있다.

= 역사적 이유가 있는데 1980년대 네트워크로 떨어진 컴퓨터의 GUI앱을 내눈앞에 모니터로 가져와서 보기위해 설계되었다고 한다

우리 환경에서는 우분투 안의 VScode 가 그려달라는 요청을 x11프로토콜 모바엑스텀에 보내고 모바엑스텀이 그걸받아서 실제 창으로 그려주는 구조이다
우리 문제는 x11체의 방식 문제라기 보다 그걸 받아 실행하는 모바엑스텀 쪽의 (DWN,타일링) 이 문제가 있어 발생한 경우이다.

기존의 두가지 방식을 구조화 하여 이해해보자

[우분투 안의 VS Code 전체] → "이렇게 그려줘" (그림 그리는 명령) → [모바엑스텀 X서버]

[Windows에서 직접 실행되는 VS Code (Code.exe)] ←→ [우분투 안의 "VS Code Server"]



[인프라적 사고방식 키우기]
1. 증상을 정확히 정의한다 #변수 선언하듯이

단순 안된다가 아닌 정확히 뭐가 , 언제, 어떻게 안되는지 구체화 하여 기록
ex) (1) code. 는실행되는데 창이동 /리사이즈 가 안됨
(2) windows 환경에서는 동작하는데 리눅스 환경에서는 안됨

2. 계층 구조를 생각하며 문제 계층을 구체화 #OSI7계층식 모델

ex) (1) 앱자체의 문제?
(2) 아니면 렌더링/디스플레이 문제? (x11 ,가속화 등)
(3) 네트워크 연결문제인가? (wsl<-> 윈도우 통신)
(4) 환경 변수 설정 문제인가?

3. 지금 실제로 어떤 경로/환경으로 동작 중인지 확인한다

which code # 어떤 실행파일이 불리는지
type code # alias인지 실제 경로인지
echo $DISPLAY # 어떤 X 서버를 타는지
echo $PATH # 어떤 경로들이 검색 대상인지

4. 가설을 세우는 단계
최대한 많은 정보를 얻고 주어진 정보를 정리하여 여러가지 가설을 세운다. 이때 나의 경험적 지식 + ai 를 활용하면 좋다

5. 환경에 영향을 주지 않는 최소단위부터 위로 올라간다
시스템에 심각한 영향을 주거나 의존성이 훼손되는 부분을 건드리면 돌이킬수 없기 떄문에
최소한의 확인을 할수있는 부분부터 하나씩 적용해 나간다. (우선순위를 설정하기)

6. 기록화 한다
해결 됨 => 오류 수정과정을 기록
해결 안됨 => 현재까지의 진행방식 건드린 환경 등을 모두 기록 추후 다른 문제가 발생되는걸 방지

profile
이론은 깊고 실전은 견고하게

0개의 댓글