WSL Ubuntu에서 GUI 이용하기: XFCE + XRDP
이 포스트에서는 윈도우에서 설치한 WSL 우분투를 GUI로 볼 수 있도록 설정하는 방법을 다룬다.
실습 환경은 윈도우 11에 WSL로 우분투 26.04 LTS에서 진행했다.
1. 접속 및 업데이트 진행
리눅스 키면 가장 기본적으로 하는 커맨드
1
2
wsl -d Ubuntu
sudo apt update
2. systemd 활성화
wsl 터미널에서 다음과 같이 입력해 systemd를 활성화한다.
1
2
3
4
sudo tee /etc/wsl.conf << 'EOF'
[boot]
systemd=true
EOF
입력하면 재부팅
1
sudo reboot
다음 입력해서 systemd가 출력으로 나오는지 확인
1
ps -p 1 -o comm=
3. XFCE와 XRDP 설치
다음 명령어로 설치해준다.
1
sudo apt install -y xfce4 xfce4-goodies xfce4-session xrdp xorgxrdp dbus-x11
다음 명령어로 xrdp와 관련된 인증서 권한 문제를 해소한다.
1
sudo adduser xrdp ssl-cert
4. XRDP 포트 변경(선택)
WSL의 GUI 접근은 원격 데스크탑 접속으로 이뤄지는데, 이 RDP의 기본 포트인 3389와 겹칠 수 있으므로 다른 포트로 바꾸는 것이 좋다. 이 포스트에서는 3390으로 바꾼다.
다음과 같이 입력해 포트를 바꾼다.
1
2
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/^port=.*/port=3390/' /etc/xrdp/xrdp.ini
다음 명령어를 이용해 포트가 3390으로 나오는지 확인
1
grep -n "^port=" /etc/xrdp/xrdp.ini
5. XRDP 로그인 시 XFCE가 뜨도록 설정
사용자 홈에 .xsession 파일 생성
1
2
echo "startxfce4" > ~/.xsession
chmod +x ~/.xsession
xrdp의 세션 시작 스크립트를 XFCE용으로 정리
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo cp /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.bak
sudo tee /etc/xrdp/startwm.sh > /dev/null << 'EOF'
#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
unset WAYLAND_DISPLAY
if [ -r /etc/profile ]; then
. /etc/profile
fi
exec startxfce4
EOF
sudo chmod +x /etc/xrdp/startwm.sh
6. XRDP 서비스 시작 및 자동 실행 등록
xrdp를 서비스에 등록해 자동실행될 수 있도록 한다.
1
2
sudo systemctl enable --now xrdp
sudo systemctl restart xrdp
정상적으로 진행되고 있다면 systemd-sysv-install enable xrdp 가 중간 출력으로 나온다. 이는 환경에 따라 나오지 않을 수도 있다.
다음 명령어로 xrdp가 running인지 확인. active (running)가 보이면 된다.
1
systemctl status xrdp --no-pager
마지막으로 다음 명령어를 통해 포트가 본인이 설정한 포트로 나오는지 확인. 아래 예시에서는 3390으로 했다.
1
ss -ltnp | grep 3390
7. 접속하기
윈도우에서 원격 데스크톱 연결을 실행한다.
localhost:<포트번호> 지정하고 접속 시도포트번호>
xrdp 서비스가 실행되고 있다면 다음 경고가 나온다. [예]를 눌러서 진행하자.
그러면 다음과 같이 xrdp 로그인 창이 나온다. WSL username과 비밀번호를 입력 후 OK를 누른다.
그런 다음 잠시 기다리면 GUI가 로드되며 필요한 작업을 진행할 수 있다.
참고
XRDP 설정을 해줘도 접속하기 위해선 WSL이 부팅되어있어야 한다.
윈도우 터미널에서 다음 명령어로 부팅 여부를 확인할 수 있다.
1
wsl -l -v




