How To Enable WSL2 Ubuntu GUI and use RDP to Remote


WSL2 continues to be one of my top features I want to explore and learn more about in the entire Windows 10 offering. What Microsoft is doing with WSL is fascinating and the endless possibility of having Linux and Windows in such deep marriage is beyond my wildest dream.

In today’s guide, we will use Window’s native RDP client to remote connect into your local WSL2 Ubuntu on the same machine. (when is the last time you RDP into localhost? … and the destination is also running in Linux, not Windows) This never happened to me until just recently. Below is a sneak peek of the end result. Let’s get started.

2020 09 30 22 13 44 1 1 600x325 - How To Enable WSL2 Ubuntu GUI and use RDP to Remote
RDP into localhost running WSL2 kubuntu distro

We assume by now you already have WSL2 running and have at least Ubuntu installed. You can follow this guide to upgrade your Ubuntu to the latest 20.04 LTS distro if you haven’t already done so.

First the standard

sudo apt update && sudo apt -y upgrade

Next we are going to install a GUI distro to Ubuntu

sudo apt-get install -y kubuntu-desktop

Half way through the installation you will be prompt for this configurating sddm, select lightdm

2020 09 30 21 56 59 jonathan@AMDRyzen3   mnt c Users Jonathan 600x367 - How To Enable WSL2 Ubuntu GUI and use RDP to Remote

Install and configure XDRP, and change the RDP port to 3390

# install xrdp
sudo apt-get install xrdp
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini

Lastly, enable Dbus

#enable dbus
sudo systemctl enable dbus
sudo /etc/init.d/dbus start
sudo /etc/init.d/xrdp start
# check xrdp status
sudo /etc/init.d/xrdp status

You should see something like this below.

2020 09 30 22 01 37 jonathan@AMDRyzen3   600x302 - How To Enable WSL2 Ubuntu GUI and use RDP to Remote

Now launch your Windows Remote Desktop Connection, or mstsc from the Windows Start menu.

2020 09 30 22 49 23 Remote Desktop Connection - How To Enable WSL2 Ubuntu GUI and use RDP to Remote

enter localhost:3390 and connect. You will be prompt by this screen keep the session as xorg, and enter your WSL2 username and password.

2020 09 30 22 04 32 localhost 3390 Remote Desktop Connection 600x605 - How To Enable WSL2 Ubuntu GUI and use RDP to Remote

That’s it, you are now connected to your WSL2 Ubuntu with a GUI over Windows’ native RDP client. How crazy is this?!


    • —————————————————-
      Note: lines starting with “>” are terminal commands

      If xrdp is running, stop it via:
      > sudo /etc/init.d/xrdp stop

      Edit the file:
      > sudo nano /etc/xrdp/
      Comment out the following two lines by adding a “#” at the beginning of each line:
      test -x /etc/X11/Xsession && exec /etc/X11/Xsession
      exec /bin/sh /etc/X11/Xsession

      Below the now commented lines, add:

      Save the file, start xrdp with
      > sudo /etc/init.d/xrdp start

      Now you should be able to start the remote desktop session on windows and login with your linux username and password 🙂

      • still having issues connecting via rdp. The remote desktop tries to connect and then says: Remote Desktop cannot connect to the remote computer

        When running this command it says xrdp is running so not sure what the problem is:
        service xrdp status
        * xrdp-sesman is running
        * xrdp is running

  1. late to this party. followed the guide, followed the commented changes. one major difference for me: lightdm was not a display manager option gdm-3 was.

    at the end of it all, I can connect, but only get a black screen. following the guide to install vnc and enable a connection via an ssh tunnel, all I get is an xwindows gray screen and cursor.

    it’s like the window server is running, but no windowing agent on the other side so it connects to a blank space.

    any ideas? Start over? 😛


Please enter your comment!
Please enter your name here