Inledning
Den här artikeln är avsedd för systemadministratörer som förbereder typiska arbetsplatser på datorer som kör Windows 10, inklusive programvaruutvecklare.
Det bör noteras att det finns ett visst problem förknippat med omöjligheten att integrera programvara erhållen från Microsoft Store onlinebutik för användning i en anpassad Windows 10-bild. Utan att gå in på detaljer kommer jag att klargöra att detta problem är relaterat till det faktum att program installerade från Microsoft Store kommunicerar med administratörstjänstkontot och när den anpassade bilden skapas av verktyget sysprep
fel uppstår på grund av denna omständighet.
Metoden som diskuteras i den här artikeln undviker detta problem när man förbereder en Windows 10 OS-avbildning med ett förkonfigurerat WSL2-undersystem, såväl som en förberedd och konfigurerad Ubuntu 20.04 OS-avbildning med ett KDE Plasma GUI, som i sin tur kan ha sin egen uppsättning anpassad programvara.
Det finns många exempel och tutorials på Internet för att sätta upp WSL-undersystem (d.v.s. WSL1 och den relativt nya WSL2), med att sätta upp ett GUI-gränssnitt för Linux-baserade OS-system från Ubuntu 16.04 till Ubuntu 20.04, men detta handlade främst om stationära datorer bygger på den s.k. "lättvikts" xfce4, som har förståeliga begränsningar i användarinställningar. Men när det gäller KDE Plasma GUI för Ubuntu 20.04 finns det inte mycket information på webben. Men det är detta alternativ som ger slutanvändaren en nästan obegränsad uppsättning inställningar för både utseendet på systemet och hårdvaruinställningarna, naturligtvis, med hänsyn tagen till de nuvarande integrationsmöjligheterna för linux-system implementerade i WSL2-delsystemet.
Installera den nödvändiga uppsättningen programvara och konfigurera WSL2
Vi kontrollerar den aktuella versionen av Windows, för detta anger du kommandot i sökfältet i Windows winver
och vi får något sånt här:
Det är viktigt att OS-versionen är 1903 eller 1909 (specificerade OS-versioner måste vara med den kumulativa uppdateringen KB4566116 installerad), eller 2004 (byggnummer inte mindre än 19041), resten av informationen spelar ingen roll. Om versionsnumret är lägre, rekommenderas det att du uppgraderar till den senaste versionen av Windows för att korrekt återge resultaten i den här artikeln.
För att underlätta ytterligare åtgärder, installera den kostnadsfria Windows-terminalen med hjälp av Microsoft Store (det finns också möjlighet att ladda ner från andra källor):
Vi installerar X Server X410 genom samma Microsoft Store, denna programvara är betald, men det finns en gratisperiod på 15 dagar, vilket räcker för olika tester.
Som ett gratis alternativ till X410
På vilken lämplig plats som helst på disken skapar vi en katalog där vi lagrar våra filer. Som ett exempel, låt oss skapa en katalog C:wsl
.
Ubuntu_2004.2020.424.0_x64
till något mer acceptabelt, som Ubuntu-20.04
och kopiera den till katalogen C:wsl
(nedan helt enkelt wsl
).
wsl
plattformsoberoende ljudserver PulseAudio v.1.1., gör vi även korrigeringar av dess konfigurationsfiler.
I fil wslpulseaudio-1.1etcpulsedefault.pa
avsnitt Load audio drivers statically
redigera raden:
load-module module-waveout sink_name=output source_name=input record=0
och i avsnittet Network access
redigera raden:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
I fil wslpulseaudio-1.1etcpulsedaemon.conf
avkommentera och ändra raden
exit-idle-time = -1
Vi konfigurerar WSL2-delsystemet i enlighet med
Om nödvändigt
Vi startar Windows Terminal och väljer kommandotolksläget genom att trycka på tangenterna Ctrl+Shift+2
.
Först och främst ställer vi in WSL2-driftsläget, för detta anger vi kommandot:
wsl --set-default-version 2
Byt till Ubuntu 20.04 fristående bootloader-katalog, i mitt fall är detta wslUbuntu-20.04
och kör filen ubuntu2004.exe
. När du tillfrågas om ett användarnamn anger du användarnamnet engineer
(du kan ange vilket annat namn som helst), ange ditt lösenord och bekräfta det angivna lösenordet för det angivna kontot:
En terminalprompt visas, Ubuntu 20.04-kärnan är installerad. Låt oss kontrollera korrektheten av WSL2-lägesinställningarna, för detta, i Windows Terminal, välj fliken Windows PowerShell och skriv in kommandot:
wsl -l -v
resultatet av utförandet bör vara så här:
Vi konfigurerar Microsoft Defender-brandväggen, dvs. inaktivera det för det offentliga nätverket:
Konfigurera Ubuntu 20.04
I Windows Terminal väljer du fliken Kommandotolk igen och installerar uppdateringar för Ubuntu 20.04. För att göra detta, skriv in på kommandoraden:
sudo apt update && sudo apt upgrade –y
Installera KDE Plasma-skrivbordet:
sudo apt install kubuntu-desktop -y
installationen tar upp till 30 minuter, beroende på datorns prestanda och internetåtkomstkanalens bandbredd, när du uppmanas av installationsprogrammet bekräftar vi OK
.
Installera rysk lokalisering och ordböcker Ubuntu 20.04. För att göra detta, skriv in på kommandoraden:
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
Lägg till den senaste versionen av KDE Plasma-skrivbordet:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Vi lägger till en egen uppsättning konsolapplikationer, till exempel mc
и neofetch
:
sudo apt install mc neofetch -y
Vi kontrollerar vad som hände, skriv in i kommandoraden neofetch
, se skärmdump:
Redigera WSL-konfigurationsfilen /etc/wsl.conf
:
sudo nano /etc/wsl.conf
kopiera texten till det tomma textredigeringsfönstret som öppnas:
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
spara ändringar (Ctrl+O
), bekräfta åtgärden och avsluta textredigeraren (Ctrl+X
).
Exportera den anpassade Ubuntu-20.04-bilden till katalogen vi skapade wsl
. För att göra detta, i Windows Terminal, välj igen fliken Windows PowerShell och ange kommandot:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
den skapade bilden hjälper oss att automatisera operationerna för att starta/installera om den konfigurerade Ubuntu 20.04, om det behövs kommer det att tillåta oss att enkelt överföra den till en annan dator.
Förbereder bat-filer och genvägar till Windows-skrivbordet
Använd Notepad ++-redigeraren och skapa bat-filer (krävs i OEM-866-kodning för korrekt utmatning av kyrilliska tecken):
fil Install-Ubuntu-20.04-plasma-desktop.bat
- utformad för att automatisera den initiala installationen av den skapade bilden av Ubuntu 20.04 på en dator med ett redan konfigurerat WSL2-undersystem och en X-server. Om användarnamnet och lösenordet skiljer sig från de som anges i exemplet, måste du göra lämpliga ändringar i denna bat-fil:
@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
fil Reinstall-Ubuntu-20.04-plasma-desktop.bat
- utformad för att installera om den förberedda bilden av Ubuntu 20.04 på datorn.
@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
fil Set-default-user.bat
- för att ställa in standardanvändare.
@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause
fil Start-Ubuntu-20.04-plasma-desktop.bat
- själva lanseringen av KDE Plasma-skrivbordet.
@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
fil Start-Ubuntu-20.04-terminal.bat
- starta en grafisk terminal utan KDE Plasma-skrivbordet.
@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
Även för enkel användning i katalogen wsl
vi förbereder genvägar som pekar på motsvarande bat-filer. Sedan innehållet i katalogen wsl
är som följer:
Startar KDE Plasma Desktop
Vi kontrollerar att alla förberedande steg har slutförts, vi försöker starta genvägen Plasma-desktop
. En lösenordsbegäran visas, ange lösenordet för kontot och ... fönstret stängs. Det är okej första gången. Vi försöker igen - och vi ser det välbekanta KDE Plasma-aktivitetsfältet. Vi anpassar utseendet på aktivitetsfältet, i exemplet flyttas panelen för enkel användning till höger sida av skärmen och centreras. Vi kontrollerar lokaliseringsinställningarna, lägg till det ryska språket vid behov:
Om det behövs tar vi genvägar för installerade linux-program till KDE Plasma-aktivitetsfältet.
Om Ubuntu 20.04 kräver att du loggar ut från ditt användarkonto för att tillämpa ändringar i inställningarna, eller om du behöver starta om operativsystemet, för att göra detta, skriv in kommandot i Windows Terminal:
wsl -d Ubuntu20.04 --shutdown
Med en etikett Plasma-desktop
eller Konsole
du kan köra KDE Plasma Ubuntu 20.04 GUI. Installera till exempel med Konsole
GIMP grafikredigerare:
När installationen är klar, kör från Konsole
GIMP grafikredigerare:
GIMP fungerar, vilket jag ville kontrollera.
Och här är hur olika linux-program fungerar i KDE Plasma i WSL2:
det anpassade KDE Plasma-aktivitetsfältet finns på höger sida av skärmen. och videon i Firefox-fönstret spelar med ljud.
Om det behövs kan du konfigurera åtkomst till Ubuntu20.04 genom att SSH
и RDP
, för detta måste du installera lämpliga tjänster med kommandot:
sudo apt install ssh xrdp -y
notera: för att aktivera lösenordsåtkomst genom SSH
du måste redigera filen /etc/ssh/sshd_config
, nämligen parametern PasswordAuthentication no
måste ställas in på PasswordAuthentication yes
, spara ändringar och starta om Ubuntu20.04.
Varje gång du startar Ubuntu20.04 ändras den interna ip-adressen, innan du ställer in fjärråtkomst måste du kontrollera den aktuella ip-adressen med kommandot ip a
:
Följaktligen måste denna ip-adress anges i sessionsinställningarna SSH
и RDP
innan du startar.
Så här ser fjärråtkomst ut SSH
använder MobaXterm:
Och så här ser fjärråtkomst ut RDP
:
Använder x-server vcxsrv istället för x410
Lansering och installation vcxsrv
, markera noggrant lämpliga kryssrutor:
Sparar den konfigurerade konfigurationen i katalogen wslvcxsrv
med standardnamn config.xlaunch
.
Redigera bat-filer Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
enligt deras instruktioner.
Startar genvägen Plasma-desktop
, och det här är vad vi får:
KDE Plasma-skrivbordet stänger Windows-skrivbordet helt, för att växla mellan Windows i Linux och Windows-program använder vi den välkända tangentkombinationen Alt+Tab
, vilket inte är särskilt bekvämt.
Dessutom avslöjades en obehaglig egenskap hos X-servern vcxsrv
- det kraschar när vissa applikationer startas, särskilt samma GIMP eller LibreOffice Writer. Vi kanske borde vänta tills utvecklarna tar bort de uppmärksammade "buggarna", men detta är inte säkert ... Så för att få acceptabla resultat är det bättre att använda X Server Microsoft x410.
Slutsats
Ändå måste vi hylla Microsoft, WSL2-produkten visade sig fungera ganska bra, och enligt min oerfarna åsikt mycket framgångsrik. Och så vitt jag vet fortsätter utvecklarna att intensivt "slutföra" det, och kanske - om ett eller två år kommer detta delsystem att dyka upp i all sin funktionella fullständighet.
Källa: will.com