본문 바로가기
카테고리 없음

WSL 데스크톱 환경 만들기 - 리눅스 GUI 설정 가이드

by TechTrekker 2025. 9. 28.

WSL 데스크톱 환경 만들기 - 리눅스 GUI 설정 가이드

윈도우에서 리눅스를 사용하고 싶지만 검은 화면의 터미널만으로는 뭔가 아쉽다고 느끼셨나요? WSL을 설치했는데 명령어로만 작업하기엔 불편하고, 그래픽 환경이 필요한 작업을 해야 하는 상황이 생겼나요? 사실 많은 분들이 WSL에서 데스크톱 환경을 구축하는 방법을 몰라서 포기하는 경우가 많습니다.

 

오늘은 윈도우의 원격 데스크톱 연결 기능을 활용해서 WSL에 완전한 리눅스 데스크톱 환경을 구축하는 방법을 단계별로 알려드리겠습니다. 복잡해 보일 수 있지만 차근차근 따라하시면 누구나 성공할 수 있어요.

 

바쁘신 분들은 1단계: 필수 패키지 설치 부터 따라하시면 됩니다.

 

👉 아직 wsl을 설치하지 않으신 분들은 아래 글을 참고해 주세요.

 

윈도우에서 리눅스 사용하는 가장 쉬운 방법 - 가상머신 없이 5분 완성!

윈도우에서 리눅스 사용하는 가장 쉬운 방법 - 가상머신 없이 5분 완성!Windows 환경에서 Linux 운영체제를 활용하고자 하는 사용자들에게 있어, 기존의 가상머신 솔루션은 복잡한 설정과 상당한 시

nextlayer.candidmila.com

 

WSL에서 데스크톱 환경이 필요한 이유

WSL(Windows Subsystem for Linux)는 기본적으로 개발 GUI 애플리케이션 실행은 가능하지만, 전체 Linux 데스크톱 환경(예: GNOME, KDE 등 전체 세션)을 실행해서 "데스크톱 전체를 띄우는 것"은 기본적으로 지원되지 않습니다.

 

왜 데스크톱 전체는 안 되는가?

  1. WSLg는 앱 단위로만 GUI를 처리
    • WSLg는 X11과 Wayland를 통해 각 GUI 앱만 따로 렌더링함
    • 예: gedit, nautilus, firefox 등은 잘 실행됨
    • 하지만 startx, gnome-session, plasma-desktop 같은 데스크톱 환경 전체는 지원되지 않음 (특히 세션이나 디스플레이 매니저 관련 부분이 없음)
  2. 디스플레이 매니저(DM)가 없다
    • 예: lightdm, gdm, sddm 같은 X 기반 디스플레이 매니저는 WSL에선 정상 작동하지 않음
    • 이유는 WSL에는 시스템 부팅 개념이 없고, init 시스템이 없음
  3. 시스템 리소스와 목적의 한계
    • WSL은 리눅스를 "시스템 운영체제"로 쓰기 위한 목적이 아님
    • 개발, 테스트, 가벼운 앱 실행 목적임

 

원격 데스크톱으로 해결하는 핵심 방법

이런 제약사항들을 우회하는 가장 효과적인 방법이 바로 원격 데스크톱 연결을 활용하는 것입니다.

윈도우에 내장된 원격 데스크톱 연결 프로그램을 사용하면 WSL 내부에 설치한 리눅스 데스크톱 환경에 접속할 수 있습니다. 이 방법의 장점은 다음과 같습니다:

  • 별도의 가상머신 소프트웨어 설치 불필요
  • 윈도우와 리눅스를 동시에 사용 가능
  • 리소스 사용량이 상대적으로 적음
  • 네트워크 설정이 간단함

 

WSL 데스크톱 환경 설정 준비사항

본격적인 설정에 앞서 필요한 준비사항들을 체크해보겠습니다.

 

시스템 요구사항:

  • Windows 10 버전 2004 이상 또는 Windows 11
  • WSL2 설치 및 활성화
  • 최소 4GB 이상의 여유 메모리
  • 관리자 권한

설치 확인사항:

GUI 앱 실행은 WSLg 기반으로 가능하지만, 리눅스 데스크톱 전체 실행은 기본적으로 불가능합니다. 이 부분을 원격 데스크톱으로 해결하게 됩니다.

 

1단계: 필수 패키지 설치

WSL 터미널을 열고 XFCE 데스크톱 환경과 원격 데스크톱에 필요한 패키지들을 설치합니다.

sudo apt install xfce4 xorgxrdp xrdp

 

각 패키지의 역할:

  • xfce4: 가벼운 데스크톱 환경으로 WSL에서 안정적으로 작동
  • xorgxrdp: X11 서버와 RDP 프로토콜을 연결해주는 중간 모듈
  • xrdp: 윈도우 원격 데스크톱 연결이 접속할 수 있게 해주는 RDP 서버

XFCE를 선택하는 이유는 GNOME이나 KDE에 비해 리소스 사용량이 적고 WSL 환경에서 안정성이 높기 때문입니다.

 

2단계: .xsession 파일 만들기

원격 접속 시 실행할 데스크톱 환경을 지정하는 파일을 생성합니다.

echo "startxfce4" > ~/.xsession
chmod +x ~/.xsession

 

.xsession 파일이 필요한 이유:

  • 원격 데스크톱으로 접속할 때 어떤 데스크톱 환경을 시작할지 시스템에 알려줌
  • xrdp가 사용자 세션을 시작할 때 이 파일을 참조함
  • 실행 권한(+x)을 주어야 시스템이 파일을 실행할 수 있음

 

3단계: /etc/xrdp/startwm.sh 수정

xrdp 서비스가 사용하는 시작 스크립트를 수정하여 XFCE 환경이 제대로 실행되도록 설정합니다.

sudo nano /etc/xrdp/startwm.sh

파일 내용을 다음과 같이 작성합니다:

#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

startxfce4

 

각 설정의 의미:

  • unset DBUS_SESSION_BUS_ADDRESS: 기존 D-Bus 세션을 초기화하여 새 세션에서 충돌 방지
  • unset XDG_RUNTIME_DIR: 런타임 디렉터리 설정을 초기화하여 권한 문제 해결
  • startxfce4: XFCE 데스크톱 환경 시작 명령어

이 설정은 원격 접속 시 발생할 수 있는 세션 충돌이나 권한 문제를 미리 방지합니다.

 

4단계: xrdp 서비스 재시작

설정을 적용하기 위해 xrdp 서비스를 재시작합니다.

sudo systemctl restart xrdp

 

서비스 재시작이 필요한 이유:

  • 앞서 수정한 startwm.sh 파일의 변경사항을 적용
  • xrdp 데몬이 새로운 설정으로 다시 시작됨
  • 포트 3389에서 RDP 연결을 대기 상태로 만듦

 

5단계: 원격 접속용 계정 생성

보안을 위해 별도의 사용자 계정을 생성하여 원격 접속에 사용합니다.

sudo adduser 사용자이름
sudo usermod -aG sudo 사용자이름

 

별도 계정 생성의 이유:

  • WSL 기본 계정으로는 원격 데스크톱 접속이 불가능: 기본 계정은 패스워드가 설정되지 않거나 시스템 계정 형태로 되어 있어 xrdp 세션 생성 시 권한 문제 발생
  • 기본 WSL 사용자 계정과 분리하여 보안성 향상
  • 원격 접속 전용 계정으로 관리의 편의성 제공
  • sudo 그룹에 추가하여 필요시 관리자 권한 사용 가능

계정 생성 시 안전한 비밀번호를 설정하세요. 이 비밀번호는 원격 데스크톱 접속 시 사용됩니다.

 

6단계: IP 확인하고 원격 접속하기

WSL의 IP 주소를 확인하고 윈도우에서 원격 데스크톱으로 접속합니다.

# WSL IP 주소 확인
ip a

빨간 네모칸의 아이피를 기억하세요.

윈도우에서 원격 데스크톱 연결:

  1. 시작 메뉴에서 "원격 데스크톱 연결" 검색 후 실행
  2. 컴퓨터 필드에 확인한 WSL IP 주소 입력
  3. 5단계에서 생성한 사용자명과 비밀번호로 로그인
  4. 연결 후 XFCE 데스크톱 환경 확인

IP 주소 확인이 중요한 이유:

  • WSL은 동적 IP를 사용하므로 재부팅 시 IP가 변경될 수 있음
  • 정확한 IP 주소로 접속해야 원격 데스크톱 연결이 성공
  • 일반적으로 172.x.x.x 대역의 주소가 할당됨

트러블슈팅 및 문제 해결

연결이 안 될 때:

  1. WSL IP 주소 재확인
  2. ip addr show eth0
  3. xrdp 서비스 상태 점검
  4. sudo systemctl restart xrdp sudo systemctl status xrdp
  5. 포트 충돌 확인
  6. netstat -tlnp | grep :3389

 

데스크톱이 검은 화면으로 나올 때:

# .xsession 파일 재생성
rm ~/.xsession
echo 'startxfce4' > ~/.xsession
chmod +x ~/.xsession

# startwm.sh 파일 재설정
sudo nano /etc/xrdp/startwm.sh

 

xrdp 서비스가 시작되지 않을 때:

# 서비스 로그 확인
sudo journalctl -u xrdp

# xrdp 재설치
sudo apt remove --purge xrdp
sudo apt install xrdp

 

성능이 느릴 때:

  1. 원격 데스크톱 연결 옵션에서 "경험" 탭 → "모뎀" 선택
  2. "바탕 화면 배경 표시" 체크 해제
  3. "글꼴 다듬기" 체크 해제
  4. XFCE 설정에서 창 효과 최소화

 

결론

WSL에서 데스크톱 환경을 구축하는 것은 생각보다 어렵지 않습니다. 윈도우의 원격 데스크톱 연결 기능을 활용하면 별도의 가상머신 없이도 완전한 리눅스 데스크톱 환경을 사용할 수 있어요.

 

이 방법의 가장 큰 장점은 윈도우와 리눅스를 동시에 사용할 수 있다는 점입니다. 개발 작업은 리눅스 환경에서, 일반적인 업무는 윈도우에서 처리하면서 두 운영체제의 장점을 모두 활용할 수 있습니다.

 

처음 설정할 때는 복잡해 보일 수 있지만, 한 번 설정해 놓으면 매우 편리하게 사용할 수 있으니 차근차근 따라해보시기 바랍니다. 혹시 설정 과정에서 문제가 생기면 트러블슈팅 섹션을 참고하시거나, WSL 커뮤니티에서 도움을 받아보세요.

WSL 데스크톱 환경으로 더욱 효율적인 개발 및 작업 환경을 구축하시길 바랍니다!