Inspiration: https://www.most-useful.com/kde-plasma-on-wsl.html
- Update WSL
- In windows command prompt run:
wsl --update
- In windows command prompt run:
- Add systemd to ubuntu
- In ubuntu prompt run:
sudo nano /etc/wsl.conf
- Add the following to the file:
[boot] systemd=true
- Save and exit by pressing ctrl + o and then ctrl + x
- Shutdown WSL by running the following in the windows command prompt:
wsl --shutdown
- Restart WSL by opening a new terminal session for Ubuntu
- In ubuntu prompt run:
sudo apt update
sudo apt install kubuntu-desktop
Select SDDM as display manager during setup
sudo apt install lightdm
During installation, select lightdm as default display manager using arrow keys
Edit the lightdm configuration as follows:
sudo nano /etc/lightdm/lightdm.conf
Add the following text
[Seat:*]
user-session=plasma
[LightDM]
start-default-seat=false
[XDMCPServer]
enabled=true
port=177
Save and exit by pressing ctrl + o and then ctrl + x
Download and install this software for windows:
https://sourceforge.net/projects/vcxsrv/
- From windows open the XLaunch program
- Select the
One window without titlebar
option and clickNext
- Selct
Open session via XDMCP
and click next - In your ubuntu terminal you need to get the ip address of the wsl2 instance:
- Run:
sudo apt install net-tools
- Run:
ifconfig eth0 | grep inet
- The ip address will be listed after the
inet
item and usually looks like 172.xxx.xxx.xxx
- Run:
- Copy the ip address above and paste into the text box next to
Connect to host
in the XLaunch window and clicknext
- Modify the default settings to uncheck
Native opengl
and checkDisable access control
- Click
Next
- Click
Save configuration
and save the file to your desktop and name the file whatever you want - VITALLY IMPORTANT: When you first run VcXSrv (or XLaunch) you’ll get a Windows Firewall popup. You will need to allow it to accept connections on both the PRIVATE and PUBLIC networks. If you don’t allow PUBLIC networks you will not get a connection as the WSL Virtual Network is considered to be PUBLIC
- Click
Finish
- From the KDE desktop, click the start menu, go to
Computer
then clickSystem Settings
- Underneath
Hardware
in the left panel, clickDisplay and Monitor
- Select
Compositor
from the left panel - Change the
rendering backend
toXRender
- Check
Enable compositor on startup
- Click
Apply
What I say is, "Why bother making the makers of aspirin rich, by trying this and that, modding this and that, removing/adding the other, and spending weeks even months trying something that just WILL NOT work, because of MS's failures, when all you have to do is install a virtual machine such as VMWare, or VirtualBox, and install your Linux distro there, or, if using Ubuntu seek and find WUBI, it will install Ubuntu as a Windows app, without creating a dedicated partition, and can be uninstall just as if it's a windows app."
I gave up trying after the 3rd attempt at getting Ubuntu 22.04 running inside WSL2 along with a graphical interface such as MATE or Plasma, and connecting to it through VNC or even XLaunch, running Ubuntu inside WSL2 is no problem, what do you expect it's command line, it's the way MS designed WSL, and attempting to run a desktop GUI inside WSL WILL fail.
So the best thing to do is this:-
1..........Enter the programs and features option in Apps
2..........Disable both WSL and Virtual machine platform
3..........Install VMWare or VirtualBox, install your Linux distro into either one, and enjoy the full benefits of a Linux desktop GUI.