WSLg — Windows에서 Linux GUI 앱 실행하기
WSL2의 GUI 통합 (WSLg)으로 Linux 데스크톱 앱을 Windows 창처럼 띄우는 셋업. 별도 X 서버·VcXsrv 불필요.
예전에는 WSL에서 Linux GUI 앱을 띄우려면 VcXsrv·X410 같은 외부 X 서버를 깔고 DISPLAY 환경변수 맞추고 방화벽 규칙 손봐야 했다. WSLg (WSL GUI) 도입(Windows 11 + WSL 0.65+) 이후 이 모든 셋업이 사라졌다 — Linux 앱이 그냥 Windows 창으로 뜬다.
이 가이드는 Windows 11 22H2+ + WSL 2 + Ubuntu 24.04 기준 WSLg를 활성화하고, 자주 쓰는 Linux GUI 앱(Firefox·gedit·gimp·GUI 디버거)을 띄우는 방법을 정리한다.
TL;DR
wsl --version—WSL version 2.0+·WSLg 1.0+둘 다 보이면 사용 가능wsl --update로 최신화sudo apt install -y x11-apps후xcalc— 시계 모양 GUI가 Windows 창으로 뜨면 성공- 별도 DISPLAY 설정 불필요 — WSLg가 자동 주입
- Wayland 앱은
WAYLAND_DISPLAY자동, X11 앱은DISPLAY=:0자동
사전 조건
- Windows 11 22H2+ (Windows 10도 21H2+에서 가능하나 안정성·성능은 11이 우월)
- WSL 2 + Ubuntu 24.04 (다른 배포판도 OK — Debian, Fedora 등)
- GPU 드라이버 최신 (NVIDIA/AMD/Intel — WSLg는 vGPU 사용)
1. WSLg 동작 원리 (간단히)
[Linux GUI 앱] ──Wayland/X11──> [WSLg 시스템 컴포지터]
│
▼
[Windows RDP]
│
▼
[Windows 데스크톱]
- Linux 앱은 평범한 Wayland 또는 X11 클라이언트로 동작
- WSLg가
Weston컴포지터를 띄우고 RDP로 Windows에 전달 - Windows 입장에선 앱이 RDP 클라이언트인 셈이라 별도 X 서버 불필요
2. 검증 — 이미 동작하나?
wsl --version
# WSL version: 2.x.x
# WSLg version: 1.x.x ← 둘 다 보이면 OKWSLg가 안 보이면 업데이트:
wsl --update
wsl --shutdown테스트:
# WSL Ubuntu 안에서
sudo apt update && sudo apt install -y x11-apps
xcalc # 또는 xeyes / xclockWindows에 GUI 창이 뜨면 성공.
안 뜨면 §8 트러블슈팅 참조.
3. 자주 쓰는 GUI 앱
3.1 Firefox
sudo apt install -y firefox
firefoxWSL Ubuntu의 Firefox로 https 접속·DevTools 사용 가능. 단 macOS의 Safari나 Windows native Firefox에 비해 GPU 가속이 제한적이라 큰 사이트는 약간 느리다.
3.2 텍스트 에디터 (gedit, gnome-text-editor)
sudo apt install -y gnome-text-editor
gnome-text-editor /etc/hosts빠른 sudo 편집에 유용. nano보다 GUI를 선호하는 경우.
3.3 이미지 편집 (GIMP)
sudo apt install -y gimp
gimpPhotoshop만큼 빠르지는 않지만 Linux 빌드 그대로.
3.4 GUI 디버거 (gdb-gui, ddd)
sudo apt install -y ddd
ddd ./my_programVS Code Remote-WSL을 쓰면 굳이 ddd는 안 써도 되지만, 고전 GUI 디버거가 필요한 상황에서.
3.5 Wireshark (네트워크 분석)
sudo apt install -y wireshark
sudo wiresharkWSL의 가상 네트워크 인터페이스를 캡처 가능. Windows host의 트래픽을 직접 캡처하려면 별도 설정 필요 (wsl --networkingMode=mirrored — Windows 11 22H2+).
4. Wayland vs X11 — 자동 선택
WSLg는 두 프로토콜을 동시 지원. 환경변수 둘 다 자동 설정:
echo $DISPLAY
# :0
echo $WAYLAND_DISPLAY
# wayland-0- Wayland 우선 — 최신 GTK/Qt 앱은 자동으로 Wayland 사용 (
GDK_BACKEND=wayland기본) - X11 fallback — Wayland 미지원 앱은
DISPLAY=:0으로 X11 사용
특정 앱이 X11/Wayland 중 하나를 강제로 쓰게 하려면:
# X11 강제
GDK_BACKEND=x11 firefox
# Wayland 강제
GDK_BACKEND=wayland firefox5. GPU 가속
WSLg는 vGPU(가상화 GPU)를 통해 OpenGL/Vulkan 가속 지원. CUDA 워크로드도 동작.
확인
sudo apt install -y mesa-utils
glxinfo | grep "OpenGL renderer"
# OpenGL renderer string: D3D12 (NVIDIA GeForce RTX ...) — 호스트 GPU 노출됨사용 사례
- Blender·Maya 등 3D 앱
- 머신러닝 시각화 (TensorBoard·Plotly Dash 등)
- 게임 (성능 제한적이지만 동작은 함)
CUDA: NVIDIA WSL 드라이버는 Windows 측에서 설치 (https://developer.nvidia.com/cuda/wsl). Linux 안에선
nvidia-cuda-toolkit만 추가 설치.
6. 오디오·마이크·웹캠
WSLg는 PulseAudio도 자동 통합 — 오디오 출력은 Windows 기본 출력으로 라우팅.
sudo apt install -y pavucontrol
speaker-test -c 2 # 양쪽 스피커 테스트마이크·웹캠은 더 까다로움:
- 마이크:
pavucontrol→ Recording 탭에서 Windows 마이크 보임 (보통 OK) - 웹캠: WSLg는 USB 카메라 직접 지원 안 함. usbipd-win으로 USB attach 필요
7. Windows 시작 메뉴에 Linux 앱 등록
WSLg는 자동으로 시작 메뉴에 등록함:
Win → "Firefox" 검색 → Firefox (Ubuntu) 항목 → 클릭만 하면 WSL이 자동 시작되고 Firefox가 뜸.
표시되는 앱은 ~/.local/share/applications/*.desktop (Linux) 기반. 직접 .desktop 파일 만들어 커스텀 앱 등록 가능:
cat > ~/.local/share/applications/my-app.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=My Tool
Exec=/usr/local/bin/mytool
Icon=utilities-terminal
EOFWSL 재시작 후 시작 메뉴에 반영.
8. 트러블슈팅
xcalc 실행해도 창이 안 뜸
wsl --version에WSLg version이 보이는가wsl --update·wsl --shutdown후 재시도- 호스트의 GPU 드라이버 (WSLg 1.0.62+는 mesa software fallback 가능하나 일부 환경에선 GPU 필수)
폰트가 깨짐 (한글 ▢▢▢)
sudo apt install -y fonts-noto-cjk fonts-nanum
fc-cache -fv클립보드가 동기화 안 됨
WSLg는 텍스트 클립보드 양방향 자동 동기화. 안 되면:
- 앱이 Wayland인지 X11인지 확인 — Wayland 앱은 가끔 클립보드 누락
GDK_BACKEND=x11로 강제 후 재시도
"GTK theme not found" 같은 경고
sudo apt install -y adwaita-icon-theme기본 GTK 테마 미설치. 자주 안 보이지만 일부 minimal Ubuntu 이미지에서 발생.
GUI 앱 입력 키 일부가 안 먹힘
Ctrl+Shift 조합·한국어 IME 등이 Windows 측에 우선 잡히는 경우. 해결:
- Windows IME 비활성화 (Win + Space로 영어 전환)
- 또는 Linux 측에
ibus/fcitx5설치하고 한글 입력은 Linux 안에서
앱이 너무 느림 (UI 지연 큼)
- GPU 가속이 software 폴백된 경우 —
glxinfo | grep -i hardware확인 - GPU 드라이버 최신화
- WSL2 메모리 부족 —
.wslconfig에memory=8GB등 명시 (wsl-tuning)
9. 한계
- Windows 11 / WSL 2 전용 — WSL 1 미지원
- 시스템 트레이 / 위젯 부재 — Linux 데스크톱의 트레이 아이콘은 표시 안 됨
- 다중 모니터 동작은 양호하나 fractional scaling 미흡 — 125%·150% 스케일링에서 일부 앱 흐릿
- 자동 시작 / 백그라운드 데몬 — Linux의 systemd 서비스를 Windows 부팅 시 자동 시작하려면 별도 설정 필요 (
systemctl --user+ Windows Task Scheduler)
10. 다음 단계
- WSL 튜닝: 메모리·CPU·네트워크 — /windows/wsl-tuning
- Docker on WSL2 — /windows/docker-wsl2
- Windows Terminal 셋업 — /windows/windows-terminal-setup
- Cross-OS dev container: /multi-os/dev-container
참고
- WSLg GitHub
- WSL 공식 문서
- usbipd-win — USB 디바이스 attach
변경 이력
- 2026-05-16: 첫 작성. WSLg 활성화·자주 쓰는 GUI 앱·GPU 가속·오디오/마이크·시작 메뉴 등록·트러블슈팅 6종.