Ներածություն
Այս հոդվածը նախատեսված է համակարգի ադմինիստրատորների ուշադրության համար, ովքեր տիպիկ աշխատատեղեր են պատրաստում Windows 10 օպերացիոն համակարգով աշխատող համակարգիչների վրա, ներառյալ ծրագրային ապահովման մշակողները:
Հարկ է նշել, որ որոշակի խնդիր կա՝ կապված Microsoft Store առցանց խանութից ստացված ծրագրակազմի ինտեգրման անհնարինության հետ՝ Windows 10 մաքսային պատկերում օգտագործելու համար: Առանց մանրամասների մեջ մտնելու, ես կպարզաբանեմ, որ այս խնդիրը կապված է այն փաստի հետ, որ Microsoft Store-ից տեղադրված ծրագրերը շփվում են Ադմինիստրատոր ծառայության հաշվի հետ, և երբ հարմարեցված պատկերի ստեղծումն ավարտվում է օգտակար ծառայության կողմից sysprep
սխալներ են տեղի ունենում այս հանգամանքի պատճառով:
Այս հոդվածում քննարկված մեթոդը խուսափում է այս խնդրից Windows 10 OS պատկեր պատրաստելիս նախապես կազմաձևված WSL2 ենթահամակարգով, ինչպես նաև նախապես պատրաստված և կազմաձևված Ubuntu 20.04 OS պատկեր KDE Plasma GUI-ով, որն իր հերթին կարող է ունենալ իր սեփականը: հատուկ ծրագրային ապահովման հավաքածու:
Ինտերնետում կան բազմաթիվ օրինակներ և ձեռնարկներ WSL ենթահամակարգերի ստեղծման համար (այսինքն՝ WSL1 և համեմատաբար նոր WSL2), Linux-ի վրա հիմնված ՕՀ համակարգերի համար GUI ինտերֆեյս ստեղծելով Ubuntu 16.04-ից մինչև Ubuntu 20.04, բայց դա հիմնականում վերաբերում էր աշխատասեղաններին: այսպես կոչվածի վրա. «թեթև» xfce4, որն ունի հասկանալի սահմանափակումներ օգտագործողի կարգավորումներում։ Բայց ինչ վերաբերում է Ubuntu 20.04-ի KDE Plasma GUI-ին, ապա համացանցում շատ տեղեկություններ չկան: Բայց հենց այս տարբերակն է, որը վերջնական օգտագործողին ապահովում է պարամետրերի գրեթե անսահմանափակ փաթեթ ինչպես համակարգի արտաքին տեսքի, այնպես էլ ապարատային պարամետրերի համար, իհարկե, հաշվի առնելով WSL2 ենթահամակարգում ներդրված linux համակարգերի ներկայիս ինտեգրման հնարավորությունները:
Ծրագրաշարի անհրաժեշտ փաթեթի տեղադրում և WSL2-ի կարգավորում
Մենք ստուգում ենք Windows-ի ընթացիկ տարբերակը, դրա համար Windows-ի որոնման տողում մուտքագրեք հրամանը winver
և մենք ստանում ենք այսպիսի բան.
Կարևոր է, որ OS-ի տարբերակը լինի 1903 կամ 1909 (ՕՀ-ի նշված տարբերակները պետք է լինեն KB4566116 կուտակային թարմացումով) կամ 2004 թվականը (կառուցման համարը ոչ պակաս, քան 19041), մնացած տեղեկատվությունը նշանակություն չունի։ Եթե տարբերակի համարը դրանից փոքր է, խորհուրդ է տրվում թարմացնել Windows-ի վերջին տարբերակին, որպեսզի ճիշտ վերարտադրեք այս հոդվածի արդյունքները:
Հետագա գործողությունների հարմարության համար տեղադրեք Windows-ի անվճար տերմինալը՝ օգտագործելով Microsoft Store-ը (կա նաև այլ աղբյուրներից ներբեռնելու հնարավորություն).
X Server X410-ը տեղադրում ենք նույն Microsoft Store-ի միջոցով, այս ծրագիրը վճարովի է, բայց կա 15 օր անվճար ժամկետ, որը բավական է տարբեր թեստերի համար։
Որպես X410-ի անվճար այլընտրանք
Սկավառակի ցանկացած հարմար վայրում մենք ստեղծում ենք գրացուցակ, որտեղ կպահենք մեր ֆայլերը: Որպես օրինակ, եկեք ստեղծենք գրացուցակ C:wsl
.
Ubuntu_2004.2020.424.0_x64
ավելի ընդունելի բանի մեջ, օրինակ Ubuntu-20.04
և պատճենեք այն գրացուցակում C:wsl
(այսուհետ՝ պարզապես wsl
).
wsl
խաչաձև հարթակ ձայնային սերվեր PulseAudio v.1.1., մենք նաև ուղղումներ ենք կատարում դրա կազմաձևման ֆայլերում:
Ֆայլում wslpulseaudio-1.1etcpulsedefault.pa
բաժին Load audio drivers statically
խմբագրել տողը.
load-module module-waveout sink_name=output source_name=input record=0
և բաժնում Network access
խմբագրել տողը.
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
Ֆայլում wslpulseaudio-1.1etcpulsedaemon.conf
uncomment և փոխել տողը
exit-idle-time = -1
Մենք կարգավորում ենք WSL2 ենթահամակարգը համապատասխան
Եթե անհրաժեշտ է
Մենք գործարկում ենք Windows Terminal-ը և սեղմելով ստեղները՝ ընտրում ենք Command Prompt ռեժիմը Ctrl+Shift+2
.
Առաջին հերթին մենք սահմանում ենք WSL2 գործողության ռեժիմը, դրա համար մուտքագրում ենք հրամանը.
wsl --set-default-version 2
Փոխեք Ubuntu 20.04 ինքնուրույն bootloader գրացուցակը, իմ դեպքում սա է wslUbuntu-20.04
և գործարկել ֆայլը ubuntu2004.exe
. Երբ ձեզ հուշում են օգտանուն, մուտքագրեք օգտվողի անունը engineer
(կարող եք մուտքագրել ցանկացած այլ անուն), մուտքագրեք ձեր գաղտնաբառը և հաստատեք մուտքագրված գաղտնաբառը նշված հաշվի համար.
Հայտնվում է տերմինալի հուշում, տեղադրված է Ubuntu 20.04 միջուկը: Եկեք ստուգենք WSL2 ռեժիմի կարգավորումների ճշգրտությունը, դրա համար Windows տերմինալում ընտրեք Windows PowerShell ներդիրը և մուտքագրեք հրամանը.
wsl -l -v
կատարման արդյունքը պետք է լինի այսպիսին.
Մենք կարգավորում ենք Microsoft Defender firewall-ը, այսինքն. անջատել այն հանրային ցանցի համար.
Ubuntu 20.04-ի կարգավորում
Windows տերմինալում կրկին ընտրեք «Command Prompt» ներդիրը և տեղադրեք Ubuntu 20.04-ի թարմացումները: Դա անելու համար հրամանի տողում մուտքագրեք.
sudo apt update && sudo apt upgrade –y
Տեղադրեք KDE Plasma աշխատասեղանը.
sudo apt install kubuntu-desktop -y
տեղադրումը տևում է մինչև 30 րոպե՝ կախված համակարգչի աշխատանքից և ինտերնետ հասանելիության ալիքի թողունակությունից, երբ տեղադրողը հուշում է, մենք հաստատում ենք OK
.
Տեղադրեք ռուսերեն տեղայնացում և բառարաններ Ubuntu 20.04: Դա անելու համար հրամանի տողում մուտքագրեք.
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
Ավելացնել KDE Plasma աշխատասեղանի վերջին տարբերակը.
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Մենք, օրինակ, ավելացնում ենք կոնսոլային հավելվածների մեր հավաքածուն mc
и neofetch
:
sudo apt install mc neofetch -y
Մենք ստուգում ենք տեղի ունեցածը, մտնում հրամանի տող neofetch
, տես սքրինշոթը՝
WSL կազմաձևման ֆայլի խմբագրում /etc/wsl.conf
:
sudo nano /etc/wsl.conf
պատճենեք տեքստը դատարկ տեքստային խմբագրիչի պատուհանում, որը բացվում է.
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
պահպանել փոփոխությունները (Ctrl+O
), հաստատեք գործողությունը և դուրս եկեք տեքստի խմբագրիչից (Ctrl+X
).
Հարմարեցված Ubuntu-20.04 պատկերի արտահանում մեր ստեղծած գրացուցակ wsl
. Դա անելու համար Windows տերմինալում կրկին ընտրեք Windows PowerShell ներդիրը և մուտքագրեք հրամանը.
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
ստեղծված պատկերը կօգնի մեզ ավտոմատացնել կազմաձևված Ubuntu 20.04-ի գործարկման/վերատեղադրման գործողությունները, անհրաժեշտության դեպքում այն թույլ կտա հեշտությամբ փոխանցել այն այլ համակարգիչ:
Windows-ի աշխատասեղանի համար bat ֆայլերի և դյուրանցումների պատրաստում
Օգտագործելով Notepad ++ խմբագրիչը, ստեղծեք bat ֆայլեր (պահանջվում է OEM-866 կոդավորման մեջ կիրիլյան նիշերի ճիշտ ելքի համար).
ֆայլ Install-Ubuntu-20.04-plasma-desktop.bat
- նախատեսված է Ubuntu 20.04-ի ստեղծված պատկերի սկզբնական տեղադրումն ավտոմատացնելու համար արդեն կազմաձևված WSL2 ենթահամակարգով և X սերվերով համակարգչում: Եթե օգտագործողի անունը և գաղտնաբառը տարբերվում են օրինակում նշվածներից, ապա դուք պետք է համապատասխան փոփոխություններ կատարեք այս bat ֆայլում.
@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
ֆայլ Reinstall-Ubuntu-20.04-plasma-desktop.bat
- նախատեսված է Ubuntu 20.04-ի պատրաստված պատկերը համակարգչում նորից տեղադրելու համար:
@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
ֆայլ Set-default-user.bat
- լռելյայն օգտագործողին սահմանելու համար:
@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause
ֆայլ Start-Ubuntu-20.04-plasma-desktop.bat
- KDE Plasma աշխատասեղանի իրական գործարկումը:
@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
ֆայլ Start-Ubuntu-20.04-terminal.bat
- գործարկել գրաֆիկական տերմինալ առանց KDE Plasma աշխատասեղանի:
@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
Նաև կատալոգում օգտագործման հարմարավետության համար wsl
մենք պատրաստում ենք դյուրանցումներ՝ մատնանշելով համապատասխան bat-ֆայլերը: Այնուհետև գրացուցակի բովանդակությունը wsl
կարծես սա:
KDE Plasma Desktop-ի գործարկում
Մենք ստուգում ենք, որ բոլոր նախապատրաստական քայլերն ավարտված են, փորձում ենք գործարկել դյուրանցումը Plasma-desktop
. Հայտնվում է գաղտնաբառի հարցում, մուտքագրեք հաշվի գաղտնաբառը և ... պատուհանը փակվում է: Լավ է առաջին անգամ: Մենք նորից փորձում ենք, և տեսնում ենք ծանոթ KDE Plasma առաջադրանքների տողը: Մենք հարմարեցնում ենք առաջադրանքների տողի տեսքը, օրինակում, օգտագործման համար հարմարության համար վահանակը տեղափոխվում է էկրանի աջ կողմ և կենտրոնացված: Մենք ստուգում ենք տեղայնացման կարգավորումները, անհրաժեշտության դեպքում ավելացնում ենք ռուսաց լեզուն.
Անհրաժեշտության դեպքում մենք տեղադրում ենք Linux հավելվածների դյուրանցումներ KDE Plasma առաջադրանքների տողում:
Եթե Ubuntu 20.04-ը պահանջում է, որ դուք դուրս գաք ձեր օգտվողի հաշվից՝ կարգավորումներում փոփոխություններ կիրառելու համար, կամ դուք պետք է վերագործարկեք ՕՀ-ն, դա անելու համար Windows տերմինալում մուտքագրեք հրամանը.
wsl -d Ubuntu20.04 --shutdown
Պիտակի հետ Plasma-desktop
կամ Konsole
դուք կարող եք գործարկել KDE Plasma Ubuntu 20.04 GUI-ը: Օրինակ, տեղադրել հետ Konsole
GIMP գրաֆիկական խմբագիր.
Տեղադրման ավարտից հետո գործարկեք Konsole
GIMP գրաֆիկական խմբագիր.
GIMP-ն աշխատում է, ինչը ես ուզում էի ստուգել:
Եվ ահա, թե ինչպես են տարբեր Linux հավելվածներ աշխատում KDE Plasma-ում WSL2-ում.
հարմարեցված KDE Plasma առաջադրանքների տողը գտնվում է էկրանի աջ կողմում: իսկ Firefox-ի պատուհանի տեսանյութը նվագում է ձայնի հետ:
Անհրաժեշտության դեպքում, դուք կարող եք կարգավորել մուտքը Ubuntu20.04 ըստ SSH
и RDP
, դրա համար անհրաժեշտ է տեղադրել համապատասխան ծառայություններ հրամանով.
sudo apt install ssh xrdp -y
նշում. գաղտնաբառի մուտքն ակտիվացնելու համար SSH
դուք պետք է խմբագրեք ֆայլը /etc/ssh/sshd_config
, մասնավորապես պարամետրը PasswordAuthentication no
պետք է սահմանվի PasswordAuthentication yes
, պահպանեք փոփոխությունները և վերագործարկեք Ubuntu20.04-ը:
Ամեն անգամ, երբ սկսում եք Ubuntu20.04-ը, ներքին ip հասցեն փոխվում է, նախքան հեռահար մուտքի կարգավորումը, դուք պետք է ստուգեք ընթացիկ ip հասցեն՝ օգտագործելով հրամանը: ip a
:
Համապատասխանաբար, այս ip-հասցեն պետք է մուտքագրվի նիստի կարգավորումներում SSH
и RDP
սկսելուց առաջ:
Ահա թե ինչ տեսք ունի հեռահար մուտքը SSH
օգտագործելով MobaXterm:
Եվ ահա թե ինչ տեսք ունի հեռահար մուտքը RDP
:
Օգտագործելով x սերվեր vcxsrv x410-ի փոխարեն
Գործարկում և կարգավորում vcxsrv
, զգուշորեն սահմանեք համապատասխան վանդակները.
Պահպանելով կազմաձևված կոնֆիգուրացիան գրացուցակում wslvcxsrv
ստանդարտ անունով config.xlaunch
.
bat ֆայլերի խմբագրում Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
ըստ իրենց ցուցումների։
Դյուրանցման գործարկում Plasma-desktop
, և սա այն է, ինչ մենք ստանում ենք.
KDE Plasma աշխատասեղանն ամբողջությամբ փակում է Windows աշխատասեղանը, linux-ի և windows հավելվածների պատուհանների միջև անցնելու համար մենք օգտագործում ենք ստեղների հայտնի համադրությունը: Alt+Tab
, որն այնքան էլ հարմար չէ։
Բացի այդ, բացահայտվել է X սերվերի տհաճ առանձնահատկությունը vcxsrv
- այն խափանում է, երբ գործարկում եք որոշ հավելվածներ, մասնավորապես նույն GIMP-ը կամ LibreOffice Writer-ը: Թերևս պետք է սպասել, մինչև մշակողները հեռացնեն նկատված «սխալները», բայց դա միանշանակ չէ... Այսպիսով, ընդունելի արդյունքներ ստանալու համար ավելի լավ է օգտագործել X Server Microsoft x410-ը։
Ամփոփում
Այնուամենայնիվ, մենք պետք է հարգանքի տուրք մատուցենք Microsoft-ին, WSL2-ի արտադրանքը բավականին աշխատող է և, իմ անփորձ կարծիքով, շատ հաջողակ: Եվ որքան գիտեմ, մշակողները շարունակում են ինտենսիվորեն «ավարտել» այն, և միգուցե մեկ-երկու տարուց այս ենթահամակարգը կհայտնվի իր ողջ ֆունկցիոնալ ամբողջականությամբ։
Source: www.habr.com