įvedimas
Šis straipsnis skirtas sistemų administratorių, kurie ruošia įprastas darbo vietas kompiuteriuose, kuriuose veikia „Windows 10“, dėmesiui, įskaitant programinės įrangos kūrėjus.
Pažymėtina, kad yra tam tikra problema, susijusi su tuo, kad neįmanoma integruoti programinės įrangos, gautos iš Microsoft Store internetinės parduotuvės, kad būtų galima naudoti pasirinktiniame Windows 10 paveikslėlyje. Nesileidžiant į smulkmenas, paaiškinsiu, kad ši problema yra susijusi su tuo, kad iš „Microsoft Store“ įdiegtos programos susisiekia su administratoriaus paslaugos paskyra ir kai paslaugų programa užbaigia tinkinto vaizdo kūrimą sysprep
dėl šios aplinkybės atsiranda klaidų.
Šiame straipsnyje aptariamas metodas leidžia išvengti šios problemos, kai ruošiamas Windows 10 OS vaizdas su iš anksto sukonfigūruotu WSL2 posistemiu, taip pat iš anksto paruoštas ir sukonfigūruotas Ubuntu 20.04 OS vaizdas su KDE Plasma GUI, kuris savo ruožtu gali turėti savo pasirinktinės programinės įrangos rinkinys.
Internete yra daug pavyzdžių ir vadovėlių, kaip nustatyti WSL posistemes (t. y. WSL1 ir palyginti naują WSL2), nustatant GUI sąsają linux pagrįstoms OS sistemoms nuo Ubuntu 16.04 iki Ubuntu 20.04, tačiau tai daugiausia buvo skirta staliniams kompiuteriams. ant vadinamųjų. „lengvas“ xfce4, kuris turi suprantamus vartotojo nustatymų apribojimus. Tačiau kalbant apie Ubuntu 20.04 skirtą KDE Plasma GUI, tinkle nėra daug informacijos. Tačiau būtent ši parinktis suteikia galutiniam vartotojui beveik neribotą nustatymų rinkinį tiek sistemos išvaizdai, tiek aparatūros nustatymams, žinoma, atsižvelgiant į dabartines WSL2 posistemyje įdiegtų linux sistemų integravimo galimybes.
Reikiamo programinės įrangos rinkinio įdiegimas ir WSL2 konfigūravimas
Mes patikriname dabartinę „Windows“ versiją, tam „Windows“ paieškos juostoje įveskite komandą winver
ir gauname kažką panašaus:
Svarbu, kad OS versija būtų 1903 arba 1909 (nurodytos OS versijos turi būti su įdiegtu kaupiamuoju naujinimu KB4566116) arba 2004 (versijos numeris ne mažesnis nei 19041), kita informacija nesvarbu. Jei versijos numeris yra mažesnis, rekomenduojama atnaujinti į naujausią Windows versiją, kad šiame straipsnyje pateikti rezultatai būtų tinkamai atkurti.
Tolimesnių veiksmų patogumui įdiekite nemokamą „Windows“ terminalą naudodami „Microsoft Store“ (taip pat yra galimybė atsisiųsti iš kitų šaltinių):
X Server X410 diegiame per tą pačią Microsoft Store, ši programinė įranga yra mokama, tačiau yra nemokamas 15 dienų laikotarpis, kurio užtenka įvairiems testams.
Kaip nemokama X410 alternatyva
Bet kurioje patogioje disko vietoje sukuriame katalogą, kuriame saugosime savo failus. Pavyzdžiui, sukurkime katalogą C:wsl
.
Ubuntu_2004.2020.424.0_x64
į kažką priimtinesnio, pvz Ubuntu-20.04
ir nukopijuokite jį į katalogą C:wsl
(toliau tiesiog wsl
).
wsl
kelių platformų garso serveris PulseAudio v.1.1., taip pat pataisome jo konfigūracijos failus.
Byloje wslpulseaudio-1.1etcpulsedefault.pa
skyrius Load audio drivers statically
redaguoti eilutę:
load-module module-waveout sink_name=output source_name=input record=0
ir skyriuje Network access
redaguoti eilutę:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
Byloje wslpulseaudio-1.1etcpulsedaemon.conf
panaikinti komentarą ir pakeisti eilutę
exit-idle-time = -1
WSL2 posistemį konfigūruojame pagal
Jei būtina
Paleidžiame Windows terminalą ir paspausdami klavišus pasirenkame komandų eilutės režimą Ctrl+Shift+2
.
Pirmiausia nustatome WSL2 veikimo režimą, tam įvedame komandą:
wsl --set-default-version 2
Pakeiskite į Ubuntu 20.04 atskirą įkrovos įkrovos katalogą, mano atveju tai yra wslUbuntu-20.04
ir paleiskite failą ubuntu2004.exe
. Kai būsite paraginti įvesti vartotojo vardą, įveskite vartotojo vardą engineer
(galite įvesti bet kokį kitą vardą), įveskite slaptažodį ir patvirtinkite įvestą nurodytos paskyros slaptažodį:
Pasirodo terminalo raginimas, įdiegtas Ubuntu 20.04 branduolys. Patikrinkime WSL2 režimo nustatymų teisingumą, tam „Windows“ terminale pasirinkite skirtuką „Windows PowerShell“ ir įveskite komandą:
wsl -l -v
vykdymo rezultatas turėtų būti toks:
Konfigūruojame Microsoft Defender ugniasienę, t.y. išjungti jį viešajame tinkle:
Ubuntu 20.04 nustatymas
„Windows“ terminale dar kartą pasirinkite skirtuką „Command Prompt“ ir įdiekite „Ubuntu 20.04“ naujinimus. Norėdami tai padaryti, komandų eilutėje įveskite:
sudo apt update && sudo apt upgrade –y
Įdiekite KDE Plasma darbalaukį:
sudo apt install kubuntu-desktop -y
diegimas užtrunka iki 30 minučių, priklausomai nuo kompiuterio našumo ir interneto prieigos kanalo pralaidumo, diegimo programos paraginti patvirtiname OK
.
Įdiekite rusų kalbos lokalizaciją ir žodynus Ubuntu 20.04. Norėdami tai padaryti, komandų eilutėje įveskite:
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
Pridėkite naujausią KDE Plasma darbalaukio versiją:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Pavyzdžiui, pridedame savo konsolių programų rinkinį mc
и neofetch
:
sudo apt install mc neofetch -y
Mes patikriname, kas atsitiko, įveskite komandų eilutę neofetch
, žr. ekrano kopiją:
WSL konfigūracijos failo redagavimas /etc/wsl.conf
:
sudo nano /etc/wsl.conf
nukopijuokite tekstą į atsidariusį tuščią teksto rengyklės langą:
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
išsaugoti pakeitimus (Ctrl+O
), patvirtinkite operaciją ir išeikite iš teksto rengyklės (Ctrl+X
).
Tinkinto Ubuntu-20.04 vaizdo eksportavimas į mūsų sukurtą katalogą wsl
. Norėdami tai padaryti, „Windows“ terminale dar kartą pasirinkite skirtuką „Windows PowerShell“ ir įveskite komandą:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
sukurtas vaizdas padės mums automatizuoti sukonfigūruoto Ubuntu 20.04 paleidimo/perdiegimo operacijas, esant reikalui leis lengvai perkelti į kitą kompiuterį.
Šikšnosparnių failų ir nuorodų į Windows darbalaukį paruošimas
Naudodami Notepad ++ redaktorių sukurkite šikšnosparnių failus (būtina OEM-866 koduotėje, kad būtų galima teisingai išvesti kirilicos simbolius):
byla Install-Ubuntu-20.04-plasma-desktop.bat
- skirtas automatizuoti pirminį sukurto Ubuntu 20.04 vaizdo diegimą kompiuteryje su jau sukonfigūruota WSL2 posisteme ir X serveriu. Jei vartotojo vardas ir slaptažodis skiriasi nuo nurodytų pavyzdyje, turite atlikti atitinkamus šio bat failo pakeitimus:
@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
byla Reinstall-Ubuntu-20.04-plasma-desktop.bat
- skirtas iš naujo įdiegti paruoštą Ubuntu 20.04 vaizdą kompiuteryje.
@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
byla Set-default-user.bat
- nustatyti numatytąjį vartotoją.
@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause
byla Start-Ubuntu-20.04-plasma-desktop.bat
- tikrasis KDE Plasma darbalaukio paleidimas.
@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
byla Start-Ubuntu-20.04-terminal.bat
- grafinio terminalo paleidimas be KDE Plasma darbalaukio.
@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
Taip pat patogumui naudoti kataloge wsl
paruošiame nuorodas, nukreipiančias į atitinkamus bat-failus. Tada katalogo turinys wsl
yra toks:
KDE plazminio darbalaukio paleidimas
Mes patikriname, ar visi parengiamieji veiksmai buvo atlikti, bandome paleisti nuorodą Plasma-desktop
. Pasirodo slaptažodžio užklausa, įveskite paskyros slaptažodį ir ... langas užsidaro. Pirmą kartą viskas gerai. Bandome dar kartą – ir matome pažįstamą KDE Plasma užduočių juostą. Pritaikome užduočių juostos išvaizdą, pavyzdyje, kad būtų lengviau naudoti, skydelis perkeliamas į dešinę ekrano pusę ir centre. Mes patikriname lokalizacijos nustatymus, jei reikia, pridedame rusų kalbą:
Jei reikia, į KDE Plasma užduočių juostą įtraukiame įdiegtų Linux programų sparčiuosius klavišus.
Jei Ubuntu 20.04 reikalauja atsijungti nuo vartotojo abonemento, kad pritaikytumėte nustatymų pakeitimus, arba jums reikia iš naujo paleisti OS, norėdami tai padaryti, Windows terminale įveskite komandą:
wsl -d Ubuntu20.04 --shutdown
Su sparčiuoju klavišu Plasma-desktop
arba Konsole
galite paleisti KDE Plasma Ubuntu 20.04 GUI. Pavyzdžiui, įdiekite su Konsole
GIMP grafinis redaktorius:
Baigę diegti, paleiskite nuo Konsole
GIMP grafinis redaktorius:
GIMP veikia, tai ir norėjau patikrinti.
Štai kaip įvairios „Linux“ programos veikia KDE plazmoje WSL2:
tinkinta KDE Plasma užduočių juosta yra dešinėje ekrano pusėje. ir vaizdo įrašas „Firefox“ lange grojamas su garsu.
Jei reikia, galite sukonfigūruoti prieigą prie Ubuntu20.04 SSH
и RDP
, tam reikia įdiegti atitinkamas paslaugas su komanda:
sudo apt install ssh xrdp -y
pastaba: norėdami įgalinti prieigą prie slaptažodžio SSH
reikia redaguoti failą /etc/ssh/sshd_config
, būtent parametras PasswordAuthentication no
turi būti nustatytas PasswordAuthentication yes
, išsaugokite pakeitimus ir iš naujo paleiskite Ubuntu20.04.
Kiekvieną kartą paleidus Ubuntu20.04 vidinis IP adresas pasikeičia, prieš nustatydami nuotolinę prieigą, turite patikrinti esamą IP adresą naudodami komandą ip a
:
Atitinkamai, šį IP adresą reikia įvesti seanso nustatymuose SSH
и RDP
prieš pradedant.
Taip atrodo nuotolinė prieiga SSH
naudojant MobaXterm:
Ir štai kaip atrodo nuotolinė prieiga RDP
:
Naudojamas x serveris vcxsrv vietoj x410
Paleidimas ir nustatymas vcxsrv
, atidžiai pažymėkite atitinkamus žymimuosius laukelius:
Sukonfigūruotos konfigūracijos išsaugojimas kataloge wslvcxsrv
su standartiniu pavadinimu config.xlaunch
.
Šikšnosparnių failų redagavimas Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
pagal jų nurodymus.
Paleidžiamas spartusis klavišas Plasma-desktop
, ir štai ką mes gauname:
KDE Plasma darbalaukis visiškai uždaro „Windows“ darbalaukį, norėdami perjungti „Linux“ ir „Windows“ programų langus, naudojame gerai žinomą klavišų kombinaciją Alt+Tab
, o tai nėra labai patogu.
Be to, buvo atskleista nemaloni X serverio savybė vcxsrv
- jis sugenda paleidžiant kai kurias programas, ypač tą pačią GIMP arba LibreOffice Writer. Galbūt turėtume palaukti, kol kūrėjai pašalins pastebėtas „klaidas“, tačiau tai nėra tikra... Taigi, norint gauti priimtinų rezultatų, geriau naudoti X Server Microsoft x410.
išvada
Vis dėlto turime pagerbti Microsoft, WSL2 produktas pasirodė gana veikiantis ir, mano nepatyrusia nuomone, labai sėkmingas. Ir, kiek žinau, kūrėjai ir toliau intensyviai ją „baigia“ ir galbūt – po metų ar dvejų šis posistemis atsiras visu savo funkciniu išbaigtumu.
Šaltinis: www.habr.com