Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial

Introducere

Acest articol este destinat atenției administratorilor de sistem care pregătesc locuri de muncă tipice pe computere care rulează Windows 10, inclusiv dezvoltatorii de software.

De menționat că există o anumită problemă asociată cu imposibilitatea integrării software-ului obținut din magazinul online Microsoft Store pentru utilizare într-o imagine personalizată Windows 10. Fără a intra în detalii, voi clarifica că această problemă este legată de faptul că programele instalate din Magazinul Microsoft comunică cu contul de serviciu Administrator și când crearea imaginii personalizate este finalizată de utilitar sysprep apar erori din această împrejurare.

Metoda discutată în acest articol evită această problemă atunci când se pregătește o imagine de sistem de operare Windows 10 cu un subsistem WSL2 preconfigurat, precum și o imagine de sistem de operare Ubuntu 20.04 pre-preparată și configurată cu o interfață grafică KDE Plasma, care la rândul său poate avea propria sa set de software personalizat.

Există o mulțime de exemple și tutoriale pe Internet pentru configurarea subsistemelor WSL (adică WSL1 și relativ noua WSL2), cu configurarea unei interfețe GUI pentru sistemele OS bazate pe Linux de la Ubuntu 16.04 la Ubuntu 20.04, dar aceasta se referea în principal la desktop-uri bazate pe pe așa-numitul. xfce4 „ușor”, care are limitări ușor de înțeles în setările utilizatorului. Dar în ceea ce privește GUI-ul KDE Plasma pentru Ubuntu 20.04, nu există multe informații găsite pe net. Dar această opțiune este cea care oferă utilizatorului final un set aproape nelimitat de setări atât pentru aspectul sistemului, cât și pentru setările hardware, desigur, ținând cont de capacitățile actuale de integrare ale sistemelor Linux implementate în subsistemul WSL2.

Instalarea setului de software necesar și configurarea WSL2

Verificăm versiunea actuală de Windows, pentru aceasta, în bara de căutare Windows, introduceți comanda winver și obținem ceva de genul:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Este important ca versiunea sistemului de operare să fie 1903 sau 1909 (versiunile specificate ale sistemului de operare trebuie să fie cu actualizarea cumulativă KB4566116 instalată) sau 2004 (număr de compilare nu mai puțin de 19041), restul informațiilor nu contează. Dacă numărul versiunii este mai mic, se recomandă să faceți upgrade la cea mai recentă versiune de Windows pentru a reproduce corect rezultatele din acest articol.

Pentru comoditatea acțiunilor ulterioare, instalați gratuit Terminalul Windows folosind Magazinul Microsoft (există și posibilitatea de a descărca din alte surse):

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Instalăm X Server X410 prin același Microsoft Store, acest software este plătit, dar există o perioadă gratuită de 15 zile, care este suficientă pentru diverse teste.

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Ca alternativă gratuită la X410 Descarca și instalați serverul VcXsrv X.

În orice loc convenabil de pe disc, creăm un director în care ne vom stoca fișierele. De exemplu, să creăm un director C:wsl.

Descărcați și instalați programul de instalare independent Ubuntu 20.04, despachetați fișierul rezultat folosind un arhivator (de exemplu, 7-zip). Redenumiți directorul dezambalat cu un nume lung Ubuntu_2004.2020.424.0_x64 în ceva mai acceptabil, cum ar fi Ubuntu-20.04 și copiați-l în director C:wsl (în continuare pur și simplu wsl).

Descărcați și despachetați într-un director wsl server de sunet multiplatform PulseAudio v.1.1., facem, de asemenea, corecții la fișierele sale de configurare.

În dosar wslpulseaudio-1.1etcpulsedefault.pa În capitol Load audio drivers statically editați linia:

load-module module-waveout sink_name=output source_name=input record=0


iar in sectiunea Network access editați linia:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1


În dosar wslpulseaudio-1.1etcpulsedaemon.conf decomentează și schimbă linia

exit-idle-time = -1


Configuram subsistemul WSL2 în conformitate cu documentație Microsoft. Singura observație este că am descărcat deja distribuția Ubuntu și o vom instala în pasul următor. Practic, configurația se reduce la activarea componentelor suplimentare „Windows Subsystem for Linux” și „Virtual Machine Platform”, apoi repornirea pentru a aplica modificări la setările computerului:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial

Daca este necesar Descarca și instalați pachetul de servicii kernel Linux în WSL2.
Lansăm Windows Terminal și selectăm modul Command Prompt apăsând tastele Ctrl+Shift+2.

În primul rând, setăm modul de funcționare WSL2, pentru aceasta introducem comanda:

wsl  --set-default-version 2


Schimbați-vă în directorul de bootloader autonom Ubuntu 20.04, în cazul meu, acesta este wslUbuntu-20.04 și rulați fișierul ubuntu2004.exe. Când vi se solicită un nume de utilizator, introduceți numele de utilizator engineer (puteți introduce orice alt nume), introduceți parola și confirmați parola introdusă pentru contul specificat:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Apare un prompt de terminal, kernel-ul Ubuntu 20.04 este instalat. Să verificăm corectitudinea setărilor modului WSL2, pentru aceasta, în Terminalul Windows, selectați fila Windows PowerShell și introduceți comanda:

wsl -l -v


rezultatul execuției ar trebui să fie astfel:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial

Configuram paravanul de protecție Microsoft Defender, de ex. dezactivați-l pentru rețeaua publică:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial

Configurarea Ubuntu 20.04

În terminalul Windows, selectați din nou fila Prompt de comandă și instalați actualizări pentru Ubuntu 20.04. Pentru a face acest lucru, pe linia de comandă, introduceți:

sudo apt update && sudo apt upgrade –y


Instalați desktopul KDE Plasma:

sudo apt install kubuntu-desktop -y


instalarea durează până la 30 de minute, în funcție de performanța computerului și de lățimea de bandă a canalului de acces la Internet, la solicitarea instalatorului, confirmăm OK.
Instalați localizarea și dicționarele rusești Ubuntu 20.04. Pentru a face acest lucru, pe linia de comandă, introduceți:

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. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Adăugați cea mai recentă versiune a desktop-ului KDE Plasma:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y


Adăugăm propriul nostru set de aplicații pentru consolă, de exemplu mc и neofetch:

sudo apt install mc neofetch -y


Verificăm ce s-a întâmplat, intrăm în linia de comandă neofetch, vezi captura de ecran:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Editarea fișierului de configurare WSL /etc/wsl.conf:

sudo nano /etc/wsl.conf


copiați textul în fereastra goală a editorului de text care se deschide:

[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true


salvează modificările (Ctrl+O), confirmați operația și părăsiți editorul de text (Ctrl+X).

Exportăm imaginea personalizată Ubuntu-20.04 în directorul creat de noi wsl. Pentru a face acest lucru, în Terminalul Windows, selectați din nou fila Windows PowerShell și introduceți comanda:

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


imaginea creată ne va ajuta să automatizăm operațiunile de lansare/reinstalare Ubuntu 20.04 configurat, dacă este necesar, ne va permite să-l transferăm cu ușurință pe alt computer.

Pregătirea fișierelor bat și a comenzilor rapide către desktopul Windows

Folosind editorul Notepad ++, creați fișiere bat (necesar în codificarea OEM-866 pentru ieșirea corectă a caracterelor chirilice):
fișier Install-Ubuntu-20.04-plasma-desktop.bat - conceput pentru a automatiza instalarea inițială a imaginii create de Ubuntu 20.04 pe un computer cu un subsistem WSL2 deja configurat și un server X. Dacă numele de utilizator și parola diferă de cele specificate în exemplu, atunci trebuie să faceți modificările corespunzătoare în acest fișier 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


fișier Reinstall-Ubuntu-20.04-plasma-desktop.bat - conceput pentru a reinstala imaginea pregătită a Ubuntu 20.04 pe computer.

@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


fișier Set-default-user.bat - pentru a seta utilizatorul implicit.

@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause


fișier Start-Ubuntu-20.04-plasma-desktop.bat - lansarea efectivă a desktop-ului 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


fișier Start-Ubuntu-20.04-terminal.bat - lansarea unui terminal grafic fără desktop-ul 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


De asemenea, pentru ușurința în utilizare în catalog wsl pregătim comenzi rapide care indică către fișierele bat corespunzătoare. Apoi conținutul directorului wsl este după cum urmează:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial

Lansarea KDE Plasma Desktop

Verificăm dacă toți pașii pregătitori au fost finalizați, încercăm să lansăm scurtătura Plasma-desktop. Apare o cerere de parolă, introduceți parola pentru cont și... se închide fereastra. E în regulă prima dată. Încercăm din nou - și vedem bara de activități familiară KDE Plasma. Personalizăm aspectul barei de activități, în exemplu, pentru ușurință în utilizare, panoul este mutat în partea dreaptă a ecranului și centrat. Verificăm setările de localizare, dacă este necesar, adăugăm limba rusă:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial

Dacă este necesar, aducem comenzi rapide pentru aplicațiile Linux instalate în bara de activități KDE Plasma.

Dacă Ubuntu 20.04 vă solicită să vă deconectați din contul dvs. de utilizator pentru a aplica modificări la setări sau trebuie să reporniți sistemul de operare, pentru a face acest lucru, în Windows Terminal, introduceți comanda:

wsl -d Ubuntu20.04 --shutdown


Cu o scurtătură Plasma-desktop sau Konsole puteți rula interfața grafică KDE Plasma Ubuntu 20.04. De exemplu, instalați cu Konsole Editor grafic GIMP:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
După finalizarea instalării, rulați de la Konsole Editor grafic GIMP:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
GIMP funcționează, ceea ce am vrut să verific.
Și iată cum funcționează diverse aplicații Linux în KDE Plasma în WSL2:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
bara de activități KDE Plasma personalizată se află în partea dreaptă a ecranului. iar videoclipul din fereastra Firefox se redă cu sunet.

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial

Dacă este necesar, puteți configura accesul la Ubuntu20.04 prin SSH и RDP, pentru aceasta trebuie să instalați serviciile corespunzătoare cu comanda:

sudo apt install ssh xrdp -y


notă: pentru a activa accesul prin parolă prin SSH trebuie să editați fișierul /etc/ssh/sshd_config, și anume parametrul PasswordAuthentication no trebuie setat la PasswordAuthentication yes, salvați modificările și reporniți Ubuntu20.04.

De fiecare dată când porniți Ubuntu20.04, adresa IP internă se schimbă, înainte de a configura accesul la distanță, trebuie să verificați adresa IP curentă folosind comanda ip a:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
În consecință, această adresă ip trebuie introdusă în setările sesiunii SSH и RDP înainte de a începe.
Așa arată accesul la distanță SSH folosind MobaXterm:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Și așa arată accesul la distanță RDP:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial

Folosind x server vcxsrv în loc de x410

Lansare și configurare vcxsrv, setați cu atenție casetele de selectare corespunzătoare:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Salvarea configurației configurate în director wslvcxsrv cu nume standard config.xlaunch.

Editarea fișierelor liliac Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat conform instructiunilor lor.

Lansarea comenzii rapide Plasma-desktop, și asta este ceea ce obținem:

Windows 10 + Linux. Configurarea interfeței grafice KDE Plasma pentru Ubuntu 20.04 în WSL2. Tutorial
Desktop-ul KDE Plasma închide complet desktopul Windows, pentru a comuta între aplicațiile Windows din Linux și Windows, folosim binecunoscuta combinație de taste Alt+Tab, ceea ce nu este foarte convenabil.
În plus, a fost dezvăluită o caracteristică neplăcută a serverului X vcxsrv - se blochează la lansarea unor aplicații, în special același GIMP sau LibreOffice Writer. Poate că ar trebui să așteptăm până când dezvoltatorii elimină „bug-urile” observate, dar acest lucru nu este sigur... Deci, pentru a obține rezultate acceptabile, este mai bine să folosiți X Server Microsoft x410.

Concluzie

Totuși, trebuie să aducem un omagiu lui Microsoft, produsul WSL2 s-a dovedit a fi destul de funcțional și, după părerea mea neexperimentată, foarte reușit. Și, din câte știu, dezvoltatorii continuă să-l „termine” intens și poate - într-un an sau doi, acest subsistem va apărea în toată completitudinea sa funcțională.

Sursa: www.habr.com

Adauga un comentariu