Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas

Introducere

Acest articol este destinat atenției administratorilor de sistem care pregătesc stații de lucru standard pe computere care rulează sistemul de operare Windows 10, inclusiv pentru dezvoltatori de software.

Trebuie menționat că există o problemă specifică legată de imposibilitatea de a integra software-ul obținut din magazinul online Microsoft Store pentru utilizarea în imaginea personalizată a Windows 10. Fără a intra în detalii, aș dori să precizez că această problemă este legată de faptul că programele instalate din Microsoft Store sunt asociate cu contul de administrator de sistem, și la finalizarea creării imaginii personalizate cu utilitarul sysprep apar erori cauzate de această circumstanță.

Metoda discutată în acest articol vă va permite să evitați această problemă la pregătirea imaginii sistemului de operare Windows 10 cu subsistemul WSL2 configurat anterior, precum și cu o imagine a sistemului de operare Ubuntu 20.04 cu GUI KDE Plasma, care, la rândul său, poate avea propriul set de software personalizat.

Pe internet există un număr mare de exemple și ghiduri pentru configurarea subsistemului WSL (adică WSL1 și comparativ noul WSL2), cu configurarea interfeței GUI pentru sistemele linux bazate pe Ubuntu, începând cu versiunea 16.04 și sfârșind cu Ubuntu 20.04, dar în principal s-a referit la desktopuri bazate pe așa-numitul xfce4 „ușor”, care are limitări evidente în setările utilizatorului. Însă, în ceea ce privește GUI KDE Plasma pentru Ubuntu 20.04, pe internet nu s-a găsit nicio informație semnificativă. Însă această variantă oferă utilizatorului final un set practic nelimitat de configurări, atât pentru aspectul sistemului, cât și pentru configurările hardware, bineînțeles în funcție de actualele capacități de integrare a sistemelor linux implementate în subsistemul WSL2.

Instalarea setului de software necesar și configurarea WSL2

Verificăm versiunea curentă a Windows, pentru aceasta în bara de căutare Windows introducem comanda winver și obținem următoarele aproximative:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Este important ca sistemul de operare să aibă versiunea 1903 sau 1909 (versiunile indicate trebuie să aibă instalat update-ul cumulativ KB4566116), sau 2004 (numărul de construcție să fie de cel puțin 19041), restul informațiilor nu contează. Dacă numărul versiunii este mai mic, este recomandat să faceți upgrade la cea mai recentă versiune de Windows pentru a reproduce corect rezultatele prezentate în acest articol.

Pentru confortul acțiunilor ulterioare, instalăm terminalul gratuit Windows folosind Microsoft Store (există și opțiunea de descărcare din alte surse):

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Instalăm X Server X410 prin același Microsoft Store, acest software este plătit, dar există o perioadă gratuită de 15 zile, ceea ce este suficient pentru a efectua diverse teste.

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Ca alternativă gratuită la X410 descărcăm și instalăm serverul X VcXsrv.

Într-o locație convenabilă de pe disc, creăm un director în care vom păstra fișierele noastre. Ca exemplu, vom crea un director C:wsl.

Descărcăm și instalăm instalatorul offline Ubuntu 20.04, decomprimăm fișierul obținut cu un program de arhivare (de exemplu, 7-zip). Redenumim directorul decomprimat cu un nume lung Ubuntu_2004.2020.424.0_x64 în ceva mai acceptabil, de exemplu Ubuntu-20.04 și îl copiem în directorul C:wsl (în continuare, doar wsl).

Descărcăm și decomprimăm în directorul wsl serverului audio multiplatforma PulseAudio v.1.1., de asemenea, facem modificări în fișierele sale de configurare.

În fișierul wslpulseaudio-1.1etcpulsedefault.pa în secțiunea Încărcați driverele audio static edităm linia:

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


iar în secțiunea Acces la rețea edităm linia:

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


În fișierul wslpulseaudio-1.1etcpulsedaemon.conf decomentăm și modificăm linia

exit-idle-time = -1


Configurăm subsystema WSL2 conform documentația Microsoft. Singura observație - distribuția Ubuntu a fost deja descărcată, și o vom instala în pasul următor. În principal, configurarea constă în activarea unor componente suplimentare "Subsystem for Linux" și "Virtual Machine Platform", urmată de o repornire pentru a aplica modificările din setările computerului:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas

Dacă este necesar descărcăm și instalăm pachetul de actualizări pentru kernelul Linux în WSL2.
Deschidem terminalul Windows și alegem modul Command Prompt apăsând tastele Ctrl+Shift+2.

În primul rând, instalăm modul WSL2, pentru aceasta introducem comanda:

wsl --set-default-version 2


Trecem în directorul cu bootloader-ul offline Ubuntu 20.04, în cazul meu acesta este wslUbuntu-20.04 și lansăm fișierul ubuntu2004.exe. La apariția solicitării pentru numele de utilizator, indic numele engineer (poate fi introdus orice alt nume), introduc parola și confirm parola introdusă pentru contul specificat:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
A apărut linia de comandă a terminalului, nucleul Ubuntu 20.04 este instalat. Să verificăm corectitudinea configurării modului WSL2, pentru aceasta în Windows Terminal selectăm fila Windows PowerShell și introducem comanda:

wsl -l -v


rezultatul execuției ar trebui să fie acesta:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas

Configurăm firewall-ul Microsoft Defender, adică dezactivăm-l pentru rețeaua publică:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas

Configurarea Ubuntu 20.04

În Windows Terminal selectăm din nou fila Command Prompt și instalăm actualizările pentru Ubuntu 20.04. Pentru aceasta, în linia de comandă introducem:

sudo apt update && sudo apt upgrade -y


Instalăm 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 lățimea de bandă a conexiunii la Internet, la apariția solicitării installerului confirmăm OK.
Instalăm localizarea în limba rusă și dicționarele pentru Ubuntu 20.04. Pentru aceasta, în linia de comandă introducem:

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 # observație: selectăm ru_RU.UTF-8 UTF-8, vezi capturile de ecran de mai jos.
sudo apt-get install --reinstall locales


Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Adăugăm cea mai recentă versiune a desktopului KDE Plasma:

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


Adăugăm setul nostru de aplicații console, de exemplu mc și neofetch:

sudo apt install mc neofetch -y


Verificăm ce am obținut, introducând în linia de comandă neofetch, vezi captura de ecran:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Edităm fișierul de configurare WSL /etc/wsl.conf:

sudo nano /etc/wsl.conf


în fereastra goală a editorului de text deschis, copiem textul:

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


salvăm modificările (Ctrl+O), confirmăm operația și ieșim din editorul de text (Ctrl+X).

Exportăm imaginea Ubuntu-20.04 configurată în directorul pe care l-am creat wsl. Pentru aceasta, în Windows Terminal selectăm din nou fila Windows PowerShell și introducem comanda:

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


imaginea creată ne va ajuta să automatizăm operațiile de pornire/reinstalare a Ubuntu 20.04 configurată, permițându-ne să o transferim cu ușurință pe un alt computer, dacă este necesar.

Pregătirea fișierelor bat și a scurtăturilor pe desktopul Windows

Cu ajutorul editorului Notepad++ creăm fișiere bat (neapărat în codificarea OEM-866 pentru a asigura afișarea corectă a caracterelor chirilice):
Fișier Install-Ubuntu-20.04-plasma-desktop.bat — destinat pentru automatizarea instalării inițiale a imaginii create Ubuntu 20.04 pe un computer care are deja configurată subsistemul WSL2 și serverul X. Dacă numele de utilizator și parola diferă de cele specificate în exemple, este necesar să faceți modificările corespunzătoare în acest fișier bat:

@echo off
wsl --set-default-version 2
cls
echo Așteptați finalizarea instalării distribuției Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Distribuția Ubuntu-20.04 a fost instalată cu succes!
echo Nu uitați să schimbați contul de utilizator implicit „root” cu un cont existent,
echo sau folosiți contul presetat „engineer”, parola: „password”.
pause


Fișier Reinstalare-Ubuntu-20.04-plasma-desktop.bat — destinat reînstalării imaginii pregătite Ubuntu 20.04 pe computer.

@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Așteptați finalizarea reînstalării distribuției Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Distribuția Ubuntu-20.04 a fost reînstalată cu succes!
pause


Fișier Setare-utilizator-default.bat — pentru a stabili utilizatorul „implicit”.

@echo off
set /p answer=Introduceți un cont existent în Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Contul de utilizator %answer% în Ubuntu-20.04 a fost setat ca implicit!
pause


Fișier Start-Ubuntu-20.04-plasma-desktop.bat — de fapt, lansarea desktop-ului KDE Plasma.

@echo off
echo ===================================== Atenție! ============================================
echo  Pentru o funcționare corectă a GUI-ului Ubuntu 20.04 în WSL2, este necesar să folosiți un server X.
echo  Notă: în cazul utilizării VcXsrv Windows X Server, este necesar să de-comentăm
echo  liniile din fișierul Start-Ubuntu-20.04-plasma-desktop.bat care conțin "config.xlaunch" și
echo  "vcxsrv.exe", și să comentăm toate liniile care conțin "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 terminalului grafic fără desktop KDE Plasma.

@echo off
echo ===================================== Atenție! ============================================
echo  Pentru funcționarea corectă a GUI-ului Ubuntu 20.04 în WSL2, este necesar să folosiți X Server.
echo  Notă: în cazul utilizării VcXsrv Windows X Server, este necesar să eliminați comentariile
echo  din fișierul Start-Ubuntu-20.04-plasma-desktop.bat, care conțin "config.xlaunch" și
echo  "vcxsrv.exe", și să comentați toate liniile care conțin "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,ro -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 comoditatea utilizării, în director wsl pregătind scurtăturile care indică spre fișierele bat corespunzătoare. După care conținutul directorului wsl arată în următorul mod:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas

Lansarea desktopului KDE Plasma

Verificăm că toate acțiunile pregătitoare au fost finalizate, încercăm să lansăm scurtătura Plasma-desktop. Apare o solicitare de parolă, introducem parola pentru contul de utilizator și… fereastra se închide. La prima încercare, este normal. Încercăm din nou — și vedem bara de activități KDE Plasma familiara. Configurăm aspectul dorit al barei de activități, de exemplu, pentru comoditate, bara este mutată în partea dreaptă a ecranului și centrată. Verificăm setările de localizare, dacă este necesar, adăugăm limba română:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas

Dacă este necesar, plasăm scurtăturile pentru aplicațiile linux instalate pe bara de activități KDE Plasma.

Dacă Ubuntu 20.04 cere să ieșiți din contul de utilizator pentru a aplica modificările în setări sau trebuie să reporniți OS, pentru aceasta în Windows Terminal introduceți comanda:

wsl -d Ubuntu20.04 --shutdown


Folosind scurtătura Plasma-desktop sau Konsole poate fi lansată GUI-ul KDE Plasma Ubuntu 20.04. De exemplu, să instalăm cu ajutorul Konsole editorului grafic GIMP:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
După finalizarea instalării, lansăm din Konsole editorului grafic GIMP:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
GIMP funcționează, ceea ce trebuia să verificăm.
Iată cum funcționează diverse aplicații linux în KDE Plasma în WSL2:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
bara de activități KDE Plasma configurată se află în partea dreaptă a ecranului. iar video în fereastra Firefox se redă cu sunet.

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas

Dacă este necesar, se poate configura accesul la Ubuntu20.04 prin SSH și RDP, pentru aceasta este necesar să instalați serviciile corespunzătoare prin comanda:

sudo apt install ssh xrdp -y


notă: pentru a activa accesul prin parolă în SSH este necesar să editați fișierul /etc/ssh/sshd_config, anume parametrul PasswordAuthentication no trebuie schimbat în valoarea PasswordAuthentication yes, salvați modificările și reporniți Ubuntu 20.04.

La fiecare pornire a Ubuntu 20.04 se schimbă adresa ip internă, înainte de a configura accesul la distanță este necesar să verificați adresa ip curentă cu comanda ip a:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Prin urmare, această adresă ip trebuie introdusă în setările sesiunilor SSH și RDP înainte de a porni.
Așa arată accesul la distanță prin SSH utilizarea MobaXterm:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Iată cum arată accesul la distanță prin RDP:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas

Utilizarea serverului X vcxsrv în loc de x410

Lansăm și configurăm vcxsrv, instalând cu atenție opțiunile corespunzătoare:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Salvăm configurația setată în directorul wslvcxsrv cu numele standard config.xlaunch.

Edităm fișierele bat Start-Ubuntu-20.04-plasma-desktop.bat și Start-Ubuntu-20.04-terminal.bat în conformitate cu instrucțiunile existente în acestea.

Lansăm shortcut-ul Plasma-desktop, și iată ce obținem:

Windows 10 + Linux. Configurarea GUI KDE Plasma pentru Ubuntu 20.04 în WSL2. Ghid pas cu pas
Desktopul KDE Plasma acoperă complet desktopul Windows, pentru a comuta între ferontele aplicațiilor linux și windows folosim combinația de taste bine cunoscută Alt+Tab, ceea ce nu este foarte convenabil.
În plus, s-a dovedit o caracteristică neplăcută a serverului X vcxsrv – se «blochează» la lansarea unor aplicații, în special GIMP sau LibreOffice Writer. Poate că ar trebui să așteptăm ca dezvoltatorii să corecteze «bug-urile» observate, dar nu este sigur... Așa că pentru rezultate acceptabile, cel mai bine ar fi să folosiți X Server Microsoft x410.

Concluzie

Totuși, trebuie să recunosc că produsul WSL2 de la Microsoft este destul de funcțional și, din perspectiva mea neavizată, este destul de reușit. Și, din câte știu, dezvoltatorii continuă să lucreze intens la el, iar poate — în decurs de un an sau doi, acest subsistem va apărea în toată funcționalitatea sa.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster