Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop

Introductie

Dit artikel is bedoeld ter attentie van systeembeheerders die typische werkplekken voorbereiden op computers met Windows 10, inclusief softwareontwikkelaars.

Opgemerkt moet worden dat er een bepaald probleem is in verband met de onmogelijkheid om software die is verkregen uit de online winkel van Microsoft Store te integreren voor gebruik in een aangepaste afbeelding van Windows 10. Zonder in details te treden, zal ik verduidelijken dat dit probleem verband houdt met het feit dat programma's die vanuit de Microsoft Store zijn geïnstalleerd, communiceren met het beheerdersserviceaccount en wanneer het maken van de aangepaste afbeelding is voltooid door het hulpprogramma sysprep fouten optreden als gevolg van deze omstandigheid.

De methode die in dit artikel wordt besproken, vermijdt dit probleem bij het voorbereiden van een Windows 10 OS-image met een vooraf geconfigureerd WSL2-subsysteem, evenals een vooraf voorbereide en geconfigureerde Ubuntu 20.04 OS-image met een KDE Plasma GUI, die op zijn beurt zijn eigen pakket maatwerksoftware.

Er zijn veel voorbeelden en tutorials op internet voor het opzetten van WSL-subsystemen (d.w.z. WSL1 en het relatief nieuwe WSL2), met het opzetten van een GUI-interface voor op Linux gebaseerde OS-systemen van Ubuntu 16.04 tot Ubuntu 20.04, maar dit betrof voornamelijk desktops op de zgn. "lichtgewicht" xfce4, dat begrijpelijke beperkingen heeft in gebruikersinstellingen. Maar wat de KDE Plasma GUI voor Ubuntu 20.04 betreft, is er niet veel informatie op het net te vinden. Maar het is deze optie die de eindgebruiker een bijna onbeperkte set instellingen biedt voor zowel het uiterlijk van het systeem als de hardware-instellingen, uiteraard rekening houdend met de huidige integratiemogelijkheden van linux-systemen die zijn geïmplementeerd in het WSL2-subsysteem.

Het installeren van de vereiste set software en het configureren van WSL2

We controleren de huidige versie van Windows, voer hiervoor de opdracht in de Windows-zoekbalk in winver en we krijgen zoiets als dit:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Het is belangrijk dat de OS-versie 1903 of 1909 is (opgegeven OS-versies moeten zijn met de cumulatieve update KB4566116 geïnstalleerd), of 2004 (buildnummer niet minder dan 19041), de rest van de informatie doet er niet toe. Als het versienummer lager is, wordt aanbevolen dat u een upgrade uitvoert naar de nieuwste versie van Windows om de resultaten in dit artikel correct te reproduceren.

Installeer voor het gemak van verdere acties de gratis Windows Terminal met behulp van de Microsoft Store (er is ook de mogelijkheid om te downloaden van andere bronnen):

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
We installeren X Server X410 via dezelfde Microsoft Store, deze software wordt betaald, maar er is een gratis periode van 15 dagen, wat voldoende is voor verschillende tests.

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Als gratis alternatief voor X410 downloaden en installeer de VcXsrv X-server.

Op elke geschikte plaats op de schijf maken we een map waarin we onze bestanden zullen opslaan. Laten we als voorbeeld een map maken C:wsl.

downloaden en installeer het zelfstandige installatieprogramma van Ubuntu 20.04, pak het resulterende bestand uit met behulp van een archiveringsprogramma (bijvoorbeeld 7-zip). Hernoem de uitgepakte map met een lange naam Ubuntu_2004.2020.424.0_x64 in iets acceptabeler, zoals Ubuntu-20.04 en kopieer het naar de map C:wsl (hierna gewoon wsl).

downloaden en uitpakken in een map wsl platformonafhankelijke geluidsserver PulseAudio v.1.1., brengen we ook correcties aan in de configuratiebestanden.

In bestand wslpulseaudio-1.1etcpulsedefault.pa sectie Load audio drivers statically bewerk de regel:

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


en in de rubriek Network access bewerk de regel:

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


In bestand wslpulseaudio-1.1etcpulsedaemon.conf verwijder het commentaar en verander de regel

exit-idle-time = -1


We configureren het WSL2-subsysteem in overeenstemming met documentatie Microsoft. De enige opmerking is dat we de Ubuntu-distributie al hebben gedownload en dat we deze in de volgende stap zullen installeren. In wezen komt de configuratie neer op het inschakelen van de aanvullende componenten "Windows Subsystem for Linux" en "Virtual Machine Platform", en vervolgens opnieuw opstarten om wijzigingen aan de computerinstellingen toe te passen:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop

Indien nodig downloaden en installeer het Linux-kernelservicepack in WSL2.
We starten Windows Terminal en selecteren de opdrachtpromptmodus door op de toetsen te drukken Ctrl+Shift+2.

Allereerst stellen we de WSL2-modus in, hiervoor voeren we het commando in:

wsl  --set-default-version 2


Ga naar de stand-alone bootloader-map van Ubuntu 20.04, in mijn geval is dit wslUbuntu-20.04 en voer het bestand uit ubuntu2004.exe. Wanneer u om een ​​gebruikersnaam wordt gevraagd, voert u de gebruikersnaam in engineer (u kunt elke andere naam invoeren), voer uw wachtwoord in en bevestig het ingevoerde wachtwoord voor het opgegeven account:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Er verschijnt een terminalprompt, de Ubuntu 20.04-kernel is geïnstalleerd. Laten we de juistheid van de WSL2-modusinstellingen controleren, hiervoor selecteert u in de Windows Terminal het tabblad Windows PowerShell en voert u de opdracht in:

wsl -l -v


het resultaat van de uitvoering zou als volgt moeten zijn:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop

We configureren de Microsoft Defender-firewall, d.w.z. schakel het uit voor het openbare netwerk:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop

Ubuntu 20.04 instellen

Selecteer in de Windows Terminal opnieuw het tabblad Opdrachtprompt en installeer updates voor Ubuntu 20.04. Om dit te doen, typt u op de opdrachtregel:

sudo apt update && sudo apt upgrade –y


Installeer het KDE Plasma-bureaublad:

sudo apt install kubuntu-desktop -y


installatie duurt maximaal 30 minuten, afhankelijk van de prestaties van de computer en de bandbreedte van het internettoegangskanaal, wanneer daarom wordt gevraagd door het installatieprogramma, bevestigen we OK.
Installeer Russische lokalisatie en woordenboeken Ubuntu 20.04. Om dit te doen, typt u op de opdrachtregel:

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 # примечание: выбираем ru_RU.UTF-8 UTF-8, см. скриншоты ниже.
sudo apt-get install --reinstall locales


Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Voeg de nieuwste versie van het KDE Plasma-bureaublad toe:

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


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

sudo apt install mc neofetch -y


We controleren wat er is gebeurd, gaan naar de opdrachtregel neofetch, zie screenshot:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Het WSL-configuratiebestand bewerken /etc/wsl.conf:

sudo nano /etc/wsl.conf


kopieer de tekst naar het lege teksteditorvenster dat wordt geopend:

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


wijzigingen opslaan (Ctrl+O), bevestig de bewerking en verlaat de teksteditor (Ctrl+X).

De aangepaste Ubuntu-20.04-afbeelding exporteren naar de map die we hebben gemaakt wsl. Om dit te doen, selecteert u in de Windows Terminal opnieuw het tabblad Windows PowerShell en voert u de opdracht in:

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


de gemaakte afbeelding helpt ons bij het automatiseren van de bewerkingen van het starten / opnieuw installeren van de geconfigureerde Ubuntu 20.04, indien nodig kunnen we deze eenvoudig naar een andere computer overbrengen.

Bat-bestanden en snelkoppelingen naar het Windows-bureaublad voorbereiden

Maak bat-bestanden met behulp van de Notepad ++-editor (vereist in OEM-866-codering voor de juiste uitvoer van Cyrillische tekens):
file Install-Ubuntu-20.04-plasma-desktop.bat - ontworpen om de eerste installatie van de gemaakte afbeelding van Ubuntu 20.04 op een computer met een reeds geconfigureerd WSL2-subsysteem en een X-server te automatiseren. Als de gebruikersnaam en het wachtwoord verschillen van die gespecificeerd in het voorbeeld, dan moet u de juiste wijzigingen aanbrengen in dit bat-bestand:

@echo off
wsl --set-default-version 2
cls
echo Ожидайте окончания установки дистрибутива Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно установлен!
echo Не забудьте сменить учетную запись по умолчанию «root» на существующую учетную запись пользователя,
echo либо используйте предустановленную учетную запись «engineer», пароль: «password».
pause


file Reinstall-Ubuntu-20.04-plasma-desktop.bat - ontworpen om de voorbereide afbeelding van Ubuntu 20.04 opnieuw op de computer te installeren.

@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Ожидайте окончания переустановки дистрибутива Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно переустановлен!
pause


file Set-default-user.bat - om de standaardgebruiker in te stellen.

@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause


file Start-Ubuntu-20.04-plasma-desktop.bat - de daadwerkelijke lancering van de KDE Plasma-desktop.

@echo off
echo ===================================== Внимание! ============================================
echo  Для корректной работы GUI Ubuntu 20.04 в WSL2 необходимо использовать X Server.
echo  Примечание: в случае использования VcXsrv Windows X Server необходимо раскомментировать
echo  строки в файле Start-Ubuntu-20.04-plasma-desktop.bat, содержащие "config.xlaunch" и
echo  "vcxsrv.exe", и закомментировать все строки, содержащие "x410".
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


file Start-Ubuntu-20.04-terminal.bat - een grafische terminal starten zonder het KDE Plasma-bureaublad.

@echo off
echo ===================================== Внимание! ============================================
echo  Для корректной работы GUI Ubuntu 20.04 в WSL2 необходимо использовать X Server.
echo  Примечание: в случае использования VcXsrv Windows X Server необходимо раскомментировать
echo  строки в файле Start-Ubuntu-20.04-plasma-desktop.bat, содержащие "config.xlaunch" и
echo  "vcxsrv.exe", и закомментировать все строки, содержащие "x410".
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 catalogus wsl we maken snelkoppelingen die verwijzen naar de overeenkomstige bat-bestanden. Dan de inhoud van de directory wsl ziet er zo uit:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop

Het starten van het KDE Plasma-bureaublad

We controleren of alle voorbereidende stappen zijn voltooid, we proberen de snelkoppeling te starten Plasma-desktop. Er verschijnt een wachtwoordverzoek, voer het wachtwoord voor het account in en ... het venster sluit. Het is oké de eerste keer. We proberen het opnieuw - en we zien de vertrouwde KDE Plasma-taakbalk. We passen het uiterlijk van de taakbalk aan, in het voorbeeld wordt voor gebruiksgemak het paneel naar de rechterkant van het scherm verplaatst en gecentreerd. We controleren de lokalisatie-instellingen, voegen indien nodig de Russische taal toe:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop

Indien nodig brengen we snelkoppelingen voor geïnstalleerde linux-toepassingen naar de taakbalk van KDE Plasma.

Als Ubuntu 20.04 vereist dat u zich afmeldt bij uw gebruikersaccount om wijzigingen aan de instellingen toe te passen, of als u het besturingssysteem opnieuw moet opstarten, voert u hiervoor in de Windows Terminal de volgende opdracht in:

wsl -d Ubuntu20.04 --shutdown


Met een etiket Plasma-desktop of Konsole u kunt de KDE Plasma Ubuntu 20.04 GUI uitvoeren. Installeer bijvoorbeeld met Konsole GIMP grafische editor:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Nadat de installatie is voltooid, start u vanaf Konsole GIMP grafische editor:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
GIMP werkt, wat ik wilde controleren.
En hier is hoe verschillende Linux-toepassingen werken in KDE Plasma in WSL2:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
de aangepaste taakbalk van KDE Plasma bevindt zich aan de rechterkant van het scherm. en de video in het Firefox-venster wordt met geluid afgespeeld.

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop

Indien nodig kunt u de toegang tot Ubuntu20.04 configureren door SSH и RDP, hiervoor moet je de juiste services installeren met het commando:

sudo apt install ssh xrdp -y


opmerking: om wachtwoordtoegang in te schakelen door SSH je moet het bestand bewerken /etc/ssh/sshd_config, namelijk de parameter PasswordAuthentication no moet worden ingesteld PasswordAuthentication yes, sla de wijzigingen op en start Ubuntu20.04 opnieuw op.

Elke keer dat u Ubuntu20.04 start, verandert het interne ip-adres, voordat u externe toegang instelt, moet u het huidige ip-adres controleren met behulp van de opdracht ip a:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Daarom moet dit ip-adres worden ingevoerd in de sessie-instellingen SSH и RDP voor het starten.
Zo ziet toegang op afstand eruit SSH MobaXterm gebruiken:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
En zo ziet toegang op afstand eruit RDP:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop

X-server vcxsrv gebruiken in plaats van x410

Opstarten en opzetten vcxsrv, stel zorgvuldig de juiste selectievakjes in:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
De geconfigureerde configuratie opslaan in de directory wslvcxsrv met standaardnaam config.xlaunch.

Bat-bestanden bewerken Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat volgens hun instructies.

De snelkoppeling starten Plasma-desktop, en dit is wat we krijgen:

Windows 10 + Linux. De KDE Plasma GUI instellen voor Ubuntu 20.04 in WSL2. Doorloop
Het KDE Plasma-bureaublad sluit het Windows-bureaublad volledig af, om te schakelen tussen vensters van linux en Windows-applicaties gebruiken we de bekende toetsencombinatie Alt+Tab, wat niet erg handig is.
Bovendien werd een onaangenaam kenmerk van de X-server onthuld vcxsrv - het crasht wanneer u sommige toepassingen uitvoert, met name dezelfde GIMP of LibreOffice Writer. Misschien moeten we wachten tot de ontwikkelaars de opgemerkte "bugs" verwijderen, maar dit is niet zeker ... Dus om acceptabele resultaten te krijgen, is het beter om de X Server Microsoft x410 te gebruiken.

Conclusie

Toch moeten we hulde brengen aan Microsoft, het WSL2-product bleek behoorlijk te werken en naar mijn onervaren mening zeer succesvol. En voor zover ik weet, blijven de ontwikkelaars het intensief "afmaken", en misschien zal dit subsysteem over een jaar of twee in al zijn functionele volledigheid verschijnen.

Bron: www.habr.com

Voeg een reactie