Indledning
Denne artikel er tiltænkt systemadministratorer, der forbereder typiske arbejdspladser på computere, der kører Windows 10, herunder softwareudviklere.
Det skal bemærkes, at der er et vist problem forbundet med umuligheden af at integrere software hentet fra Microsoft Store onlinebutik til brug i et tilpasset Windows 10-billede. Uden at gå i detaljer vil jeg præcisere, at dette problem er relateret til det faktum, at programmer, der er installeret fra Microsoft Store, kommunikerer med administratorservicekontoen, og når den brugerdefinerede billedoprettelse er fuldført af hjælpeprogrammet sysprep
fejl opstår på grund af denne omstændighed.
Metoden, der er diskuteret i denne artikel, undgår dette problem, når du forbereder et Windows 10 OS-billede med et forudkonfigureret WSL2-undersystem, samt et præ-forberedt og konfigureret Ubuntu 20.04 OS-billede med en KDE Plasma GUI, som igen kan have sin egen sæt tilpasset software.
Der er en masse eksempler og tutorials på internettet til opsætning af WSL-undersystemer (dvs. WSL1 og den relativt nye WSL2), med opsætning af en GUI-grænseflade til linux-baserede OS-systemer fra Ubuntu 16.04 til Ubuntu 20.04, men dette vedrørte hovedsageligt desktops baseret på den såkaldte. "letvægts" xfce4, som har forståelige begrænsninger i brugerindstillinger. Men hvad angår KDE Plasma GUI til Ubuntu 20.04, er der ikke meget information fundet på nettet. Men det er denne mulighed, der giver slutbrugeren et næsten ubegrænset sæt af indstillinger for både udseendet af systemet og hardwareindstillinger, naturligvis under hensyntagen til de nuværende integrationsmuligheder for linux-systemer implementeret i WSL2-undersystemet.
Installation af det nødvendige sæt software og konfiguration af WSL2
Vi kontrollerer den aktuelle version af Windows, for dette skal du indtaste kommandoen i Windows-søgelinjen winver
og vi får noget som dette:
Det er vigtigt, at OS-versionen er 1903 eller 1909 (angivne OS-versioner skal være med den kumulative opdatering KB4566116 installeret), eller 2004 (byggenummer ikke mindre end 19041), resten af informationen er ligegyldig. Hvis versionsnummeret er mindre end det, anbefales det, at du opgraderer til den nyeste version af Windows for korrekt at gengive resultaterne i denne artikel.
For at gøre det nemmere for yderligere handlinger skal du installere den gratis Windows Terminal ved hjælp af Microsoft Store (der er også mulighed for at downloade fra andre kilder):
Vi installerer X Server X410 gennem samme Microsoft Store, denne software er betalt, men der er en gratis periode på 15 dage, hvilket er nok til diverse tests.
Som et gratis alternativ til X410
På ethvert passende sted på disken opretter vi en mappe, hvor vi gemmer vores filer. Lad os som et eksempel oprette en mappe C:wsl
.
Ubuntu_2004.2020.424.0_x64
til noget mere acceptabelt, f.eks Ubuntu-20.04
og kopier det til mappen C:wsl
(i det følgende blot wsl
).
wsl
cross-platform lydserver PulseAudio v.1.1., vi laver også rettelser til dens konfigurationsfiler.
I fil wslpulseaudio-1.1etcpulsedefault.pa
sektion Load audio drivers statically
rediger linjen:
load-module module-waveout sink_name=output source_name=input record=0
og i afsnittet Network access
rediger linjen:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
I fil wslpulseaudio-1.1etcpulsedaemon.conf
afkommenter og skift linje
exit-idle-time = -1
Vi konfigurerer WSL2-delsystemet iht
Hvis det er nødvendigt
Vi starter Windows Terminal og vælger kommandoprompttilstand ved at trykke på tasterne Ctrl+Shift+2
.
Først og fremmest indstiller vi WSL2-driftstilstanden, for dette indtaster vi kommandoen:
wsl --set-default-version 2
Skift til Ubuntu 20.04 standalone bootloader-biblioteket, i mit tilfælde er dette wslUbuntu-20.04
og kør filen ubuntu2004.exe
. Indtast brugernavnet, når du bliver bedt om et brugernavn engineer
(du kan indtaste et hvilket som helst andet navn), indtast din adgangskode og bekræft den indtastede adgangskode for den angivne konto:
En terminalprompt vises, Ubuntu 20.04-kernen er installeret. Lad os kontrollere rigtigheden af indstillingerne for WSL2-tilstand, for dette skal du i Windows Terminal vælge fanen Windows PowerShell og indtaste kommandoen:
wsl -l -v
resultatet af udførelsen skulle være som dette:
Vi konfigurerer Microsoft Defender firewall, dvs. deaktiver det for det offentlige netværk:
Opsætning af Ubuntu 20.04
I Windows Terminal skal du vælge fanen Kommandoprompt igen og installere opdateringer til Ubuntu 20.04. For at gøre dette skal du på kommandolinjen indtaste:
sudo apt update && sudo apt upgrade –y
Installer KDE Plasma-skrivebordet:
sudo apt install kubuntu-desktop -y
installationen tager op til 30 minutter, afhængigt af computerens ydeevne og internetadgangskanalens båndbredde, bekræfter vi, når installationsprogrammet anmoder om det. OK
.
Installer russisk lokalisering og ordbøger Ubuntu 20.04. For at gøre dette skal du på kommandolinjen indtaste:
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
Tilføj den seneste version af KDE Plasma-skrivebordet:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Vi tilføjer f.eks. vores eget sæt konsolapplikationer mc
и neofetch
:
sudo apt install mc neofetch -y
Vi tjekker, hvad der skete, indtast kommandolinjen neofetch
, se skærmbillede:
Redigering af WSL-konfigurationsfilen /etc/wsl.conf
:
sudo nano /etc/wsl.conf
kopier teksten ind i det tomme tekstredigeringsvindue, der åbnes:
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
Gem ændringer (Ctrl+O
), bekræft handlingen og forlad teksteditoren (Ctrl+X
).
Eksport af det tilpassede Ubuntu-20.04-billede til det bibliotek, vi oprettede wsl
. For at gøre dette skal du i Windows Terminal igen vælge fanen Windows PowerShell og indtaste kommandoen:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
det oprettede billede hjælper os med at automatisere operationerne med at starte / geninstallere den konfigurerede Ubuntu 20.04, hvis det er nødvendigt, vil det give os mulighed for nemt at overføre det til en anden computer.
Forberedelse af bat-filer og genveje til Windows-skrivebordet
Brug Notepad ++-editoren til at oprette bat-filer (påkrævet i OEM-866-kodning for det korrekte output af kyrilliske tegn):
fil Install-Ubuntu-20.04-plasma-desktop.bat
- designet til at automatisere den indledende installation af det oprettede billede af Ubuntu 20.04 på en computer med et allerede konfigureret WSL2-undersystem og en X-server. Hvis brugernavnet og adgangskoden afviger fra dem, der er angivet i eksemplet, skal du foretage de relevante ændringer i denne 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
- designet til at geninstallere det forberedte billede af Ubuntu 20.04 på computeren.
@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
- for at indstille standardbrugeren.
@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
- den faktiske lancering af KDE Plasma-skrivebordet.
@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
- lancering af en grafisk terminal uden KDE Plasma-skrivebordet.
@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
Også for brugervenlighed i kataloget wsl
vi forbereder genveje, der peger på de tilsvarende bat-filer. Derefter indholdet af mappen wsl
er som følger:
Start af KDE Plasma Desktop
Vi kontrollerer, at alle de forberedende trin er gennemført, vi prøver at starte genvejen Plasma-desktop
. En adgangskodeanmodning vises, indtast adgangskoden til kontoen og ... vinduet lukkes. Det er okay første gang. Vi prøver igen - og vi ser den velkendte KDE Plasma proceslinje. Vi tilpasser udseendet af proceslinjen, i eksemplet flyttes panelet til højre på skærmen og centreres for at lette brugen. Vi kontrollerer lokaliseringsindstillingerne, tilføjer om nødvendigt det russiske sprog:
Om nødvendigt bringer vi genveje til installerede linux-programmer til KDE Plasma proceslinjen.
Hvis Ubuntu 20.04 kræver, at du logger ud af din brugerkonto for at anvende ændringer til indstillingerne, eller du skal genstarte operativsystemet, for at gøre dette, skal du indtaste kommandoen i Windows Terminal:
wsl -d Ubuntu20.04 --shutdown
Med en genvej Plasma-desktop
eller Konsole
du kan køre KDE Plasma Ubuntu 20.04 GUI. Installer for eksempel med Konsole
GIMP grafik editor:
Når installationen er fuldført, skal du køre fra Konsole
GIMP grafik editor:
GIMP virker, hvilket jeg ville tjekke.
Og her er, hvordan forskellige linux-programmer fungerer i KDE Plasma i WSL2:
den tilpassede KDE Plasma proceslinje er på højre side af skærmen. og videoen i Firefox-vinduet spiller med lyd.
Om nødvendigt kan du konfigurere adgang til Ubuntu20.04 ved SSH
и RDP
, til dette skal du installere de relevante tjenester med kommandoen:
sudo apt install ssh xrdp -y
bemærk: for at aktivere adgangskodeadgang ved SSH
du skal redigere filen /etc/ssh/sshd_config
, nemlig parameteren PasswordAuthentication no
skal indstilles til PasswordAuthentication yes
, gem ændringer og genstart Ubuntu20.04.
Hver gang du starter Ubuntu20.04, ændres den interne ip-adresse, før du opsætter fjernadgang, skal du kontrollere den aktuelle ip-adresse ved hjælp af kommandoen ip a
:
Derfor skal denne ip-adresse indtastes i sessionsindstillingerne SSH
и RDP
inden start.
Sådan ser fjernadgang ud SSH
bruger MobaXterm:
Og sådan ser fjernadgang ud RDP
:
Brug af x-server vcxsrv i stedet for x410
Lancering og opsætning vcxsrv
, indstil omhyggeligt de relevante afkrydsningsfelter:
Gemmer den konfigurerede konfiguration i biblioteket wslvcxsrv
med standardnavn config.xlaunch
.
Redigering af bat-filer Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
efter deres instruktioner.
Lancering af genvejen Plasma-desktop
, og dette er hvad vi får:
KDE Plasma-skrivebordet lukker Windows-skrivebordet fuldstændigt, for at skifte mellem Windows i Linux og Windows-programmer bruger vi den velkendte tastekombination Alt+Tab
, hvilket ikke er særlig bekvemt.
Derudover blev en ubehagelig funktion ved X-serveren afsløret vcxsrv
- det går ned, når du kører nogle programmer, især den samme GIMP eller LibreOffice Writer. Måske skal vi vente, indtil udviklerne fjerner de bemærkede "bugs", men det er ikke sikkert ... Så for at få acceptable resultater er det bedre at bruge X Server Microsoft x410.
Konklusion
Alligevel skal vi hylde Microsoft, WSL2-produktet viste sig at være ganske fungerende, og efter min uerfarne mening meget vellykket. Og så vidt jeg ved, fortsætter udviklerne med at intensivt "færdiggøre" det, og måske - om et år eller to, vil dette undersystem dukke op i al sin funktionelle fuldstændighed.
Kilde: www.habr.com