Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш

Муқаддима

Ин мақола барои таваҷҷуҳи маъмурони система, ки ҷойҳои кориро дар компютерҳои дорои Windows 10, аз ҷумла таҳиягарони нармафзор омода мекунанд, пешбинӣ шудааст.

Бояд қайд кард, ки мушкилоти муайяне вуҷуд дорад, ки бо имконнопазирии ҳамгироии нармафзоре, ки аз мағозаи онлайни Microsoft Store гирифта шудааст, барои истифода дар тасвири фармоишии Windows 10.Бе тафсилот, ман равшанӣ медиҳам, ки ин мушкилот ба он марбут аст, ки барномаҳое, ки аз Дӯкони Microsoft насб шудаанд, бо ҳисоби хидматрасонии Administrator муошират мекунанд ва вақте ки эҷоди тасвири фармоишӣ аз ҷониби утилита ба итмом мерасад sysprep аз сабаби ин вазъият хатохо ба амал меоянд.

Усули дар ин мақола баррасӣшуда ҳангоми омода кардани тасвири Windows 10 OS бо зерсистемаи қаблан танзимшудаи WSL2, инчунин тасвири қаблан омодашуда ва танзимшудаи Ubuntu 20.04 бо GUI KDE Plasma, ки дар навбати худ метавонад дорои хусусияти худро дошта бошад, ин мушкилотро пешгирӣ мекунад. маҷмӯи нармафзори фармоишӣ.

Дар Интернет мисолҳо ва дастурҳои зиёде барои насб кардани зерсистемаҳои WSL (яъне WSL1 ва WSL2 нисбатан нав) мавҷуданд, ки бо насб кардани интерфейси GUI барои системаҳои OS дар асоси Linux аз Ubuntu 16.04 то Ubuntu 20.04, аммо ин асосан ба мизи кории асосёфта дахл дорад. дар бораи ба ном. "сабук" xfce4, ки дар танзимоти корбар маҳдудиятҳои фаҳмо дорад. Аммо дар мавриди GUI Plasma KDE барои Ubuntu 20.04, дар шабака маълумоти зиёде мавҷуд нест. Аммо маҳз ин хосият ба корбари ниҳоӣ маҷмӯи қариб номаҳдуди танзимотро ҳам барои намуди зоҳирии система ва ҳам танзимоти сахтафзор таъмин мекунад, албатта, бо дарназардошти имкониятҳои ҷории ҳамгироии системаҳои Linux, ки дар зерсистемаи WSL2 амалӣ карда мешаванд.

Насб кардани маҷмӯи лозимии нармафзор ва танзими WSL2

Мо версияи ҷории Windows-ро тафтиш мекунем, барои ин дар сатри ҷустуҷӯи Windows фармонро ворид кунед winver ва мо чунин чизе ба даст меорем:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Муҳим он аст, ки версияи OS 1903 ё 1909 (версияҳои мушаххаси OS бояд бо навсозии маҷмӯии KB4566116 насб карда шаванд) ё 2004 (рақами сохтмон на камтар аз 19041), боқимондаи маълумот муҳим нест. Агар рақами версия аз он камтар бошад, тавсия дода мешавад, ки ба версияи охирини Windows навсозӣ кунед, то натиҷаҳоро дар ин мақола дуруст такрор кунед.

Барои роҳати амалҳои минбаъда, Терминали ройгони Windows-ро бо истифода аз Дӯкони Microsoft насб кунед (инчунин имкони зеркашии аз дигар манбаъҳо вуҷуд дорад):

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Мо X Server X410-ро тавассути ҳамон Дӯкони Microsoft насб мекунем, ин нармафзор пулакӣ аст, аммо мӯҳлати ройгони 15 рӯз мавҷуд аст, ки барои санҷишҳои гуногун кофӣ аст.

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Ҳамчун алтернативаи ройгон ба X410 зеркашӣ кунед ва сервери VcXsrv X -ро насб кунед.

Дар ягон ҷои мувофиқи диск, мо директорияе эҷод мекунем, ки дар он файлҳои худро нигоҳ медорем. Барои мисол, биёед директория эҷод кунем C:wsl.

Зеркашӣ ва насбкунандаи офлайнии Ubuntu 20.04-ро насб кунед, файли натиҷаро бо истифода аз бойгонӣ бароред (масалан, 7-zip). Номи директорияи кушодашуда бо номи дароз 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 беэҳтиёт ва тағир додани сатр

exit-idle-time = -1


Мо зерсистемаи WSL2-ро мувофиқи он танзим мекунем ҳуҷҷатгузорӣ Microsoft. Ягона қайд ин аст, ки мо аллакай тақсимоти Ubuntu-ро зеркашӣ кардаем ва мо онро дар қадами оянда насб мекунем. Асосан, конфигуратсия барои фаъол кардани ҷузъҳои иловагии "Windows Subsystem for Linux" ва "Платформаи мошинҳои виртуалӣ" ва пас аз бозоғозӣ барои ворид кардани тағирот ба танзимоти компютер меояд:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш

Агар лозим бошад зеркашӣ кунед ва бастаи хидматрасонии ядрои Linux-ро дар WSL2 насб кунед.
Мо Windows Terminal-ро оғоз мекунем ва бо пахш кардани тугмаҳо ҳолати фармони фармонро интихоб мекунем Ctrl+Shift+2.

Пеш аз ҳама, мо режими WSL2-ро муқаррар мекунем, барои ин мо фармонро ворид мекунем:

wsl  --set-default-version 2


Ба феҳристи пурборкунандаи мустақили Ubuntu 20.04 тағир диҳед, дар ҳолати ман ин аст wslUbuntu-20.04 ва файлро иҷро кунед ubuntu2004.exe. Вақте ки номи корбар талаб карда мешавад, номи корбарро ворид кунед engineer (шумо метавонед ягон номи дигарро ворид кунед), гузарвожаи худро ворид кунед ва пароли воридшударо барои ҳисоби муайяншуда тасдиқ кунед:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Саволи терминал пайдо мешавад, ядрои Ubuntu 20.04 насб шудааст. Биёед дурустии танзимоти режими WSL2-ро тафтиш кунем, барои ин, дар Windows Terminal, ҷадвали Windows PowerShell-ро интихоб кунед ва фармонро ворид кунед:

wsl -l -v


натиҷаи иҷро бояд чунин бошад:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш

Мо девори Microsoft Defender-ро танзим мекунем, яъне. онро барои шабакаи ҷамъиятӣ хомӯш кунед:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш

Насб кардани Ubuntu 20.04

Дар Windows Terminal, боз ҷадвали фармони фармонро интихоб кунед ва навсозиҳоро барои 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


Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Варианти охирини мизи кории 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, тасвири скриншотро бубинед:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Таҳрири файли конфигуратсияи 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 Terminal, боз ҷадвали Windows PowerShell-ро интихоб кунед ва фармонро ворид кунед:

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


тасвири офаридашуда ба мо дар автоматикунонии амалиёти оғоз / аз нав насб кардани Ubuntu 20.04-и конфигуратсияшуда кӯмак мекунад, агар лозим бошад, он ба мо имкон медиҳад, ки онро ба компютери дигар ба осонӣ интиқол диҳем.

Омода кардани файлҳои бат ва миёнабурҳо ба мизи кории Windows

Бо истифода аз муҳаррири Notepad ++, файлҳои батро эҷод кунед (барои баровардани дурусти ҳарфҳои кириллӣ дар рамзгузории 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 чунин мешуморам:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш

Оғози мизи кории KDE Plasma

Мо тафтиш мекунем, ки ҳамаи қадамҳои омодагӣ анҷом дода шудаанд, мо кӯшиш мекунем, ки миёнабурро оғоз кунем Plasma-desktop. Дархости парол пайдо мешавад, пароли ҳисобро ворид кунед ва ... тиреза пӯшида мешавад. Бори аввал хуб аст. Мо бори дигар кӯшиш мекунем - ва мо панели супоришҳои KDE Plasma-ро мебинем. Мо намуди панели вазифаҳоро танзим мекунем, дар мисол, барои осонии истифода, панел ба тарафи рости экран кӯчонида шуда, дар марказ ҷойгир карда шудааст. Мо танзимоти локализатсияро тафтиш мекунем, агар лозим бошад, забони русиро илова кунед:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш

Агар лозим бошад, мо миёнабурҳоро барои барномаҳои насбшудаи Linux ба панели супоришҳои KDE Plasma меорем.

Агар Ubuntu 20.04 талаб кунад, ки аз ҳисоби корбарии худ хориҷ шавед, то тағиротро ба танзимот ворид кунед ё шумо бояд ОС-ро аз нав оғоз кунед, барои ин дар Windows Terminal фармонро ворид кунед:

wsl -d Ubuntu20.04 --shutdown


Бо нишони Plasma-desktop ё Konsole шумо метавонед KDE Plasma Ubuntu 20.04 GUI -ро иҷро кунед. Масалан, бо насб кунед Konsole Муҳаррири графикии GIMP:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Пас аз анҷом ёфтани насб, аз Konsole Муҳаррири графикии GIMP:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
GIMP кор мекунад, ки ман мехостам тафтиш кунам.
Ва ин аст, ки чӣ тавр барномаҳои гуногуни Linux дар KDE Plasma дар WSL2 кор мекунанд:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
панели фармоишии KDE Plasma дар тарафи рости экран ҷойгир аст. ва видео дар равзанаи Firefox бо садо бозӣ мекунад.

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш

Агар лозим бошад, шумо метавонед дастрасӣ ба 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:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Бинобар ин, ин IP-адрес бояд дар танзимоти сессия ворид карда шавад SSH и RDP пеш аз оғоз.
Ин аст он чизе ки дастрасии дурдаст ба назар мерасад SSH бо истифода аз MobaXterm:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Ва ин аст он чизе ки дастрасии дурдаст ба назар мерасад RDP:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш

Истифодаи x server vcxsrv ба ҷои x410

Ба кор андохтан ва насб кардан vcxsrv, бодиққат қуттиҳои мувофиқро гузоред:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Захираи конфигуратсияи танзимшуда дар директория wslvcxsrv бо номи пешфарз config.xlaunch.

Таҳрири файлҳои bat Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat мувофики дастури онхо.

Оғози миёнабур Plasma-desktop, ва ин аст он чизе ки мо ба даст меорем:

Windows 10 + Linux. Насб кардани GUI Plasma KDE барои Ubuntu 20.04 дар WSL2. Гузариш
Мизи кории KDE Plasma мизи кории Windows-ро комилан мепӯшонад, барои гузаштан байни тирезаҳои Linux ва барномаҳои Windows, мо комбинатсияи маъруфи калидҳоро истифода мебарем. Alt+Tab, ки ин чандон қулай нест.
Илова бар ин, як хусусияти ногувори сервери X ошкор карда шуд vcxsrv - он ҳангоми оғози баъзе барномаҳо, бахусус ҳамон GIMP ё LibreOffice Writer, садама мезанад. Шояд мо бояд интизор шавем, ки таҳиягарон "хатоҳо"-и мушоҳидашударо бартараф кунанд, аммо ин аниқ нест... Аз ин рӯ, барои ба даст овардани натиҷаҳои қобили қабул беҳтар аст, ки сервери X Microsoft x410-ро истифода барем.

хулоса

Бо вуҷуди ин, мо бояд ба Microsoft эҳтиром гузорем, маҳсулоти WSL2 хеле кор мекунад ва ба андешаи бетаҷрибаи ман, хеле муваффақ аст. Ва то ҷое ки ман медонам, таҳиягарон ба таври пуршиддат "ба итмом расонидани" онро идома медиҳанд ва шояд - пас аз як ё ду сол, ин зерсистема бо тамоми пуррагии функсионалии худ пайдо мешавад.

Манбаъ: will.com

Илова Эзоҳ