Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide

Inleiding

Dit artikel is bedoeld voor systeembeheerders die standaard werkplekken willen voorbereiden op computers die draaien op Windows 10, inclusief voor softwareontwikkelaars.

Het is belangrijk op te merken dat er een probleem is met de integratie van software die is verkregen in de Microsoft Store voor gebruik in een gebruikersafbeelding van Windows 10. Zonder in detail te treden, wil ik verduidelijken dat dit probleem voortkomt uit het feit dat programma's die via de Microsoft Store zijn geïnstalleerd, worden gekoppeld aan het serviceaccount Administrator, en bij het voltooien van het maken van de gebruikersafbeelding met de tool sysprep treden er fouten op als gevolg van deze omstandigheden.

De methode die in dit artikel wordt besproken, kan helpen dit probleem te voorkomen bij het voorbereiden van een Windows 10-afbeelding met een vooraf geconfigureerde WSL2-subsysteem en een vooraf voorbereid en geconfigureerd Ubuntu 20.04-afbeelding met GUI KDE Plasma, wat op zijn beurt zijn eigen set gebruikerssoftware kan hebben.

Er zijn veel voorbeelden en handleidingen op internet over het configureren van de WSL-subsysteem (d.w.z. WSL1 en de relatief nieuwe WSL2), met de configuratie van GUI-interfaces voor Linux-systemen op basis van besturingssystemen van Ubuntu versie 16.04 tot en met Ubuntu 20.04, maar dit betrof voornamelijk desktops op basis van de zogenaamde 'lichte' xfce4, die begrijpelijke beperkingen heeft in gebruikersinstellingen. Wat betreft GUI KDE Plasma voor Ubuntu 20.04 was er echter weinig substantiele informatie op het internet. Maar deze optie biedt eindgebruikers praktisch onbeperkte aanpassingsmogelijkheden zowel qua uiterlijke vormgeving van het systeem als hardware-instellingen, rekening houdend met de huidige integratiemogelijkheden van Linux-systemen die zijn geïmplementeerd in de WSL2-subsysteem.

Installeren van de benodigde software en configureren van WSL2

Controleer de huidige Windows-versie; typ hiervoor de opdracht in de Windows zoekbalk winver en je krijgt ongeveer het volgende te zien:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Het is belangrijk dat het besturingssysteem versie 1903 of 1909 heeft (de genoemde versies van het besturingssysteem moeten de cumulatieve update KB4566116 hebben geïnstalleerd), of 2004 (bouwnummer van ten minste 19041); overige informatie is niet van belang. Als het versienummer lager is, wordt aanbevolen om te upgraden naar de laatste versie van Windows voor een correcte herhaling van de resultaten zoals beschreven in dit artikel.

Om verdere handelingen te vergemakkelijken, installeren we de gratis Windows Terminal via de Microsoft Store (er is ook de mogelijkheid om het van andere bronnen te downloaden):

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
We installeren X Server X410 via dezelfde Microsoft Store, deze software is betaald, maar er is een gratis periode van 15 dagen, wat voldoende is voor verschillende tests.

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Als een gratis alternatief voor X410 downloaden we en installeren we de X-server VcXsrv.

Op een handige locatie op de schijf maken we een map aan waarin we onze bestanden zullen opslaan. Ter illustratie maken we de map aan C:wsl.

Download en installeren we de standalone installer voor Ubuntu 20.04, we pakken het verkregen bestand uit met een archiveringsprogramma (bijvoorbeeld 7-zip). We hernoemen de uitgepakte map met de lange naam Ubuntu_2004.2020.424.0_x64 naar iets meer acceptabels, bijvoorbeeld Ubuntu-20.04 en kopiëren het naar de map C:wsl (verderop in de tekst gewoon wsl).

Download en pakken uit in de map wsl cross-platform geluidsserver PulseAudio v.1.1., en maken ook aanpassingen in de configuratiebestanden.

In het bestand wslpulseaudio-1.1etcpulsedefault.pa in de sectie Laad audio drivers statisch we bewerken de regel:

load-module module-waveout sink_name=output source_name=input record=0


en in het gedeelte Netwerktoegang we bewerken de regel:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1


In het bestand wslpulseaudio-1.1etcpulsedaemon.conf we verwijderen de commentaar en veranderen de regel

exit-idle-time = -1


We configureren het WSL2-subsysteem volgens de documentatie Microsoft. Enige opmerking — we hebben de Ubuntu-distributie al gedownload, en we zullen deze in de volgende stap installeren. Over het algemeen komt de configuratie neer op het inschakelen van extra componenten 'Windows-subsysteem voor Linux' en 'Virtuele machineplatform', en vervolgens opnieuw opstarten om de wijzigingen in de computerinstellingen toe te passen:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide

Indien nodig downloaden we en installeren we de updates voor de kernel van Linux in WSL2.
We starten de Windows Terminal en kiezen de werkmodus Opdrachtprompt door de toetsen Ctrl+Shift+2.

Als eerste stellen we de WSL2-werkmethode in, daarvoor voeren we het commando in:

wsl --set-default-version 2


We gaan naar de map met de standalone bootloader voor Ubuntu 20.04, in mijn geval is dit wslUbuntu-20.04 en we starten het bestand ubuntu2004.exe. Bij de vraag naar de gebruikersnaam geef ik de naam op engineer (je kunt elke andere naam invoeren), voer je wachtwoord in en bevestig het ingevoerde wachtwoord voor de opgegeven account:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
De terminalprompt is verschenen, de kernel van Ubuntu 20.04 is geïnstalleerd. Laten we de configuratie van de WSL2-modus controleren. Hiervoor selecteren we in Windows Terminal het tabblad Windows PowerShell en voeren we het volgende commando in:

wsl -l -v


de uitvoer zou als volgt moeten zijn:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide

We configureren de Microsoft Defender-firewall, dat wil zeggen, we schakelen deze uit voor openbare netwerken:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide

Configuratie van Ubuntu 20.04

In Windows Terminal selecteren we weer het tabblad Command Prompt en installeren we de updates voor Ubuntu 20.04. Hiervoor voeren we in de opdrachtprompt in:

sudo apt update && sudo apt upgrade -y


We installeren de KDE Plasma desktop:

sudo apt install kubuntu-desktop -y


de installatie kan tot 30 minuten duren, afhankelijk van de prestaties van de computer en de bandbreedte van de internetverbinding. Bij een installer prompt bevestigen we. OK.
We installeren de Russische lokalisatie en woordenboeken voor Ubuntu 20.04. Hiervoor voeren we in de opdrachtprompt in:

sudo apt install language-pack-ru language-pack-kde-ru -y
sudo apt install libreoffice-l10n-ru libreoffice-help-ru -y
sudo apt install hunspell-ru mueller7-dict -y
sudo update-locale LANG=ru_RU.UTF-8
sudo dpkg-reconfigure locales # Opmerking: kies ru_RU.UTF-8 UTF-8, zie de screenshots hieronder.
sudo apt-get install --reinstall locales


Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
We voegen de nieuwste versie van de KDE Plasma desktop toe:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y


We voegen onze eigen set console-applicaties toe, bijvoorbeeld mc en neofetch:

sudo apt install mc neofetch -y


Laten we controleren wat er is gebeurd, voer in de opdrachtprompt in: neofetch, zie screenshot:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
We bewerken het configuratiebestand van WSL /etc/wsl.conf:

sudo nano /etc/wsl.conf


in het geopende lege venster van de teksteditor kopiëren we de tekst:

[automount]
enabled = true
root = /mnt
options = "metadata,umask=22,fmask=11"
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true


we slaan de wijzigingen op (Ctrl+O), bevestigen de actie en verlaten de teksteditor (Ctrl+X).

We exporteren het geconfigureerde beeld van Ubuntu-20.04 naar de map die we hebben gemaakt. wslHiervoor selecteren we in Windows Terminal opnieuw het tabblad Windows PowerShell en voeren we het commando in:

wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop


het gemaakte beeld helpt ons de opstart-/herinstallatie-operaties van geconfigureerde Ubuntu 20.04 te automatiseren en kan indien nodig eenvoudig naar een andere computer worden overgebracht.

Voorbereiding van bat-bestanden en snelkoppelingen op het bureaublad van Windows

Met behulp van de Notepad++ editor maken we bat-bestanden (verplicht in de OEM-866 codering voor de juiste weergave van Cyrillische tekens):
Bestand Install-Ubuntu-20.04-plasma-desktop.bat — is designed to automate the initial installation of the created Ubuntu 20.04 image on a computer with an already configured WSL2 subsystem and X server. If the username and password differ from those provided in the example, corresponding changes must be made to this bat file:

@echo off
wsl --set-default-version 2
cls
echo Wacht tot de installatie van de Ubuntu-20.04 distributie is voltooid...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo De Ubuntu-20.04 distributie is succesvol geïnstalleerd!
echo Vergeet niet de standaardaccount «root» te wijzigen naar een bestaande gebruikersaccount,
echo of gebruik de vooraf geïnstalleerde account «engineer», wachtwoord: «password».
pause


Bestand Reinstall-Ubuntu-20.04-plasma-desktop.bat — is bedoeld voor het herinstalleren van het voorbereide Ubuntu 20.04-image op de computer.

@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Wacht tot de herinstallatie van de Ubuntu-20.04 distributie is voltooid...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo De Ubuntu-20.04 distributie is succesvol herinstallated!
pause


Bestand Set-default-user.bat — voor het instellen van de «standaard»-gebruiker.

@echo off
set /p answer=Voer een bestaande account in Ubuntu in (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo De gebruikersaccount %answer% is ingesteld als standaard in Ubuntu-20.04!
pause


Bestand Start-Ubuntu-20.04-plasma-desktop.bat — het daadwerkelijk starten van de KDE Plasma desktop.

@echo off
echo ===================================== Let op! ============================================
echo  Voor een correcte werking van de GUI Ubuntu 20.04 in WSL2 moet je een X Server gebruiken.
echo  Opmerking: als je VcXsrv Windows X Server gebruikt, moet je de regels in het bestand Start-Ubuntu-20.04-plasma-desktop.bat waarin "config.xlaunch" en
echo  "vcxsrv.exe" voorkomen, ontcommentariëren, en alle regels waarin "x410" voorkomt, commentariëren.
echo ============================================================================================
rem start "" /B "c:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.exe run "if [ -z "$(pidof plasmashell)" ]; then cd ~ ; export DISPLAY=$(awk '/nameserver/ {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export LIBGL_ALWAYS_INDIRECT=1 ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; plasmashell ; pkill '(gpg|ssh)-agent' ; fi;"
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /T /IM x410.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul


Bestand Start-Ubuntu-20.04-terminal.bat — start de grafische terminal zonder de KDE Plasma desktop.

@echo off
echo ===================================== Let op! ============================================
echo  Voor een correcte werking van de GUI Ubuntu 20.04 in WSL2 is het noodzakelijk om een X Server te gebruiken.
echo  Opmerking: als VcXsrv Windows X Server wordt gebruikt, moet je de regels in het bestand Start-Ubuntu-20.04-plasma-desktop.bat die "config.xlaunch" en
echo  "vcxsrv.exe" bevatten, uitcommentariëren en alle regels die "x410" bevatten, commentariëren.
echo ============================================================================================
rem start "" \/B "c:wslvcxsrvconfig.xlaunch" > nul
start "" \/B x410.exe \/wm \/public > nul
start "" \/B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.exe run "cd ~ ; export DISPLAY=$(awk '\/nameserver \/ {print $2; exit}' \/etc\/resolv.conf 2>\/dev\/null):0 ; export LIBGL_ALWAYS_INDIRECT=1 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export PULSE_SERVER=tcp:$(grep nameserver \/etc\/resolv.conf | awk '{print $2}') ; sudo \/etc\/init.d\/dbus start &> \/dev\/null ; sudo service ssh start ; sudo service xrdp start ; konsole ; pkill '(gpg|ssh)-agent' ;"
taskkill.exe \/F \/T \/IM x410.exe > nul
rem taskkill.exe \/F \/T \/IM vcxsrv.exe > nul
taskkill.exe \/F \/IM pulseaudio.exe > nul


Ook voor gebruiksgemak in de map wsl bereiden we snelkoppelingen voor die verwijzen naar de desbetreffende bat-bestanden. Vervolgens ziet de inhoud van de map wsl er als volgt uit:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide

Starten van de KDE Plasma desktop

We controleren of alle voorbereidende stappen zijn uitgevoerd, en proberen de snelkoppeling Plasma-desktop. Er verschijnt een wachtwoordprompt, voer het wachtwoord voor het account in en… het venster sluit. Dit is normaal de eerste keer. We proberen het opnieuw — en zien de bekende taakbalk van KDE Plasma. We stellen de gewenste uitstraling van de taakbalk in, ter verhoging van het gebruiksgemak verplaatsen we de taakbalk naar de rechterkant van het scherm en centreren deze. We controleren de locale instellingen en voegen indien nodig de Russische taal toe:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide

Indien nodig kunnen we snelkoppelingen voor geïnstalleerde linux-applicaties op de taakbalk van KDE Plasma plaatsen.

Als Ubuntu 20.04 vraagt om uit te loggen om wijzigingen in de instellingen toe te passen, of als je het besturingssysteem opnieuw moet opstarten, voer in Windows Terminal de opdracht in:

wsl -d Ubuntu20.04 --shutdown


Met de snelkoppeling Plasma-desktop of Konsole kun je de GUI KDE Plasma Ubuntu 20.04 starten. Laten we bijvoorbeeld de Konsole grafische editor GIMP installeren:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Na de installatie starten we vanuit Konsole grafische editor GIMP installeren:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
GIMP werkt, wat we moesten controleren.
En zo werken verschillende linux-applicaties in KDE Plasma in WSL2:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
de ingestelde taakbalk van KDE Plasma bevindt zich aan de rechterkant van het scherm, terwijl video in het Firefox-venster met geluid wordt afgespeeld.

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide

Indien nodig kan de toegang tot Ubuntu20.04 worden ingesteld. SSH en RDP, hiervoor moet je de juiste diensten installeren met het commando:

sudo apt install ssh xrdp -y


opmerking: om wachtwoordtoegang in te schakelen, SSH moet het bestand worden bewerkt /etc/ssh/sshd_config, namelijk de parameter PasswordAuthentication no moet worden ingesteld op de waarde PasswordAuthentication yes, sla de wijzigingen op en herstart Ubuntu 20.04.

Bij elke opstart van Ubuntu 20.04 verandert het interne ip-adres, verifieer het huidige ip-adres met het commando ip a:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Dit ip-adres moet in de instellingen van de sessies worden opgenomen SSH en RDP voor het starten.
Zo ziet remote toegang eruit via SSH met MobaXterm:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
En zo ziet remote toegang eruit via RDP:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide

Het gebruik van de X-server vcxsrv in plaats van x410

Start en configureer vcxsrv, selecteer zorgvuldig de juiste selectievakjes:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Sla de geconfigureerde instellingen op in de map wslvcxsrv met de standaard naam config.xlaunch.

Bewerk bat-bestanden Start-Ubuntu-20.04-plasma-desktop.bat en Start-Ubuntu-20.04-terminal.bat volgens de instructies die erin staan.

Start de snelkoppeling Plasma-desktop, en dit is wat we krijgen:

Windows 10 + Linux. Setting up the KDE Plasma GUI for Ubuntu 20.04 in WSL2. Step-by-step guide
Het KDE Plasma-bureau bedekt volledig het Windows-bureau. Om tussen windows- en linux-applicaties te schakelen, gebruiken we de bekende toetsencombinatie Alt+Tab, wat niet echt handig is.
Bovendien bleek er een onaangenaam probleem met de X-server vcxsrv – hij 'crasht' bij het starten van sommige applicaties, waaronder GIMP of LibreOffice Writer. Misschien moet je wachten tot de ontwikkelaars de opgemerkte bugs oplossen, maar dat is niet zeker… Voor acceptabele resultaten kun je beter de X Server Microsoft x410 gebruiken.

Conclusie

Toch moet ik Microsoft erkenning geven, het product WSL2 is behoorlijk functioneel en naar mijn onervaren mening – vrij succesvol. En voor zover ik weet, blijven de ontwikkelaars hard werken aan verbeteringen, en mogelijk – over een jaar of twee zal deze subsyteem in zijn volledige functionaliteit verschijnen.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster