Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom

Uvod

Ta članek je namenjen sistemskim administratorjem, ki pripravljajo standardna delovna mesta na računalnikih z operacijskim sistemom Windows 10, vključno z razvijalci programske opreme.

Treba je omeniti, da obstaja določena težava, povezana z nezmožnostjo integracije programske opreme, pridobljene v spletnem trgovini Microsoft Store, za uporabo v uporabniškem imageu Windows 10. Brez podrobnosti bom pojasnil, da je ta težava povezana s tem, da se programi, nameščeni iz Microsoft Store, povežejo z upraviteljsko računom Administrator, in ob zaključku ustvarjanja uporabniškega imagea z orodjem sysprep se pojavijo napake, ki so posledica te okoliščine.

Način, obravnavan v tem članku, omogoča preprečevanje takšne težave pri pripravi imagea operacijskega sistema Windows 10 s predhodno nastavljeno podnutjo WSL2 in vnaprej pripravljenim in nastavljenim imageom operacijskega sistema Ubuntu 20.04 s GUI KDE Plasma, ki ima lahko svoj nabor uporabniške programske opreme.

Na internetu je na voljo veliko primerov in priročnikov za nastavitev podnutij WSL (t.j. WSL1 in relativno nove WSL2), z nastavitvijo GUI vmesnika za linux sisteme na osnovi operacijskih sistemov, od različice Ubuntu 16.04 do Ubuntu 20.04, vendar je večinoma to zadevalo namizja na osnovi t.i. 'lahkega' xfce4, ki ima očitne omejitve pri uporabniških nastavitvah. Kar zadeva GUI KDE Plasma za Ubuntu 20.04, pa ni bilo najdenih nobenih pomembnih informacij. Vendar ta različica končnemu uporabniku ponuja praktično neomejen nabor nastavitev tako videza sistema kot tudi nastavitev strojne opreme, seveda ob upoštevanju trenutnih možnosti integracije linux sistemov, realiziranih v podnutju WSL2.

Namestitev potrebnega niza programske opreme in nastavitev WSL2

Preverimo trenutno različico sistema Windows, za to v iskalno vrstico Windows vnesimo ukaz winver in dobimo približno naslednje:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Pomembno je, da ima operacijski sistem različico 1903 ali 1909 (navedene različice operacijskega sistema morajo imeti nameščeno kumulativno posodobitev KB4566116), ali 2004 (številka različice mora biti najmanj 19041), ostale informacije niso pomembne. Če je različica nižja, se priporoča posodobitev na najnovejšo različico Windows za pravilno ponovitev rezultatov, navedenih v tem članku.

Za udobje nadaljnjih dejanj namestimo brezplačni Windows Terminal preko Microsoft Store (obstaja tudi možnost prenosa iz drugih virov):

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Namestimo X Server X410 preko istega Microsoft Store, ta programska oprema je plačljiva, vendar ima 15-dnevno brezplačno obdobje, kar je dovolj za različneteste.

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Kot brezplačna alternativa X410 prenesite in namestite X-server VcXsrv.

Na disku ustvarite imenik, v katerem bomo hranili naše datoteke. Kot primer ustvarimo imenik C:wsl.

Prenesite in namestimo samostojni namestitveni program Ubuntu 20.04, razpakiramo pridobljeno datoteko s pomočjo arhivatorja (na primer 7-zip). Preimenujemo razpakiran imenik z dolgim imenom Ubuntu_2004.2020.424.0_x64 v kaj bolj sprejemljivega, na primer Ubuntu-20.04 in ga kopiramo v imenik C:wsl (nadalje v besedilu preprosto wsl).

Prenesite in razpakiramo v imenik wsl krosplatformni zvočni strežnik PulseAudio v.1.1., prav tako vnesemo spremembe v njegove konfiguracijske datoteke.

V datoteki wslpulseaudio-1.1etcpulsedefault.pa v razdelku Load audio drivers statically urejamo vrstico:

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


v razdelku Network access urejamo vrstico:

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


V datoteki wslpulseaudio-1.1etcpulsedaemon.conf odkomentiramo in spremenimo vrstico

exit-idle-time = -1


Nastavljamo pod-sistem WSL2 v skladu z dokumentacijo Microsoft. Edina opomba — distribucijo Ubuntu smo že prenesli in jo bomo namestili v naslednjem koraku. Večinoma se nastavitve nanašajo na omogočanje dodatnih komponent „Windows Subsystem for Linux“ in „Platforma za virtualizacijo“, ter ponovni zagon za uporabo sprememb v nastavitvah računalnika:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom

Po potrebi prenesite in namestimo paket posodobitev za jedro Linux v WSL2.
Odprimo Windows Terminal in izberemo način delovanja Command Prompt s pritiskom na tipke Ctrl+Shift+2.

Najprej nastavimo način delovanja WSL2, za to vnesemo ukaz:

wsl --set-default-version 2


Preidemo v imenik s samostojnim nalagalnikom Ubuntu 20.04, v mojem primeru je to wslUbuntu-20.04 in zaženemo datoteko ubuntu2004.exe. Ko se prikaže poziv po imenu uporabnika, navedem ime engineer (lahko vnesete katerokoli drugo ime), vnesite svojo geslo in potrdite vneseno geslo za navedeni račun:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Pojavila se linija za unos terminala, jezgro Ubuntu 20.04 je instalirano. Provjerimo ispravnost postavki WSL2 režima, za to u Windows Terminalu odabiremo karticu Windows PowerShell i unosimo komandu:

wsl -l -v


rezultat izvršavanja treba biti ovakav:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom

Konfiguriramo Microsoft Defender vatrozid, tj. onemogućavamo ga za javnu mrežu:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom

Postavke Ubuntu 20.04

U Windows Terminalu ponovo odabiremo karticu Command Prompt i vršimo ažuriranja za Ubuntu 20.04. Za to u komandnoj liniji unosimo:

sudo apt update && sudo apt upgrade -y


Instaliramo KDE Plasma desktop:

sudo apt install kubuntu-desktop -y


instalacija traje do 30 minuta u zavisnosti od performansi računara i propusnosti pristupnog kanala na Internet, ako se pojavi upit instalatera potvrdite OK.
Instaliramo rusku lokalizaciju i rečnike za Ubuntu 20.04. Za to u komandnoj liniji unosimo:

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 # napomena: odabiremo ru_RU.UTF-8 UTF-8, pogledajte snimke ispod.
sudo apt-get install --reinstall locales


Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Dodajemo posljednju verziju KDE Plasma desktopa:

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


Dodajemo svoj skup konzolnih aplikacija, na primjer mc in neofetch:

sudo apt install mc neofetch -y


Provjeravamo šta smo dobili, unesite u komandnu liniju neofetch, pogledajte snimak:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Uređujemo konfiguracijsku datoteku WSL /etc/wsl.conf:

sudo nano /etc/wsl.conf


u otvoreni prazan prozor tekstualnog uređivača kopiramo tekst:

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


spremamo promjene (Ctrl+O), potvrđujemo operaciju i izlazimo iz tekstualnog uređivača (Ctrl+X).

Izvozimo podešeni Ubuntu-20.04 imidž u namješteni direktorij wsl. Za to u Windows Terminalu ponovo odabiremo karticu Windows PowerShell i unosimo komandu:

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


stvoreni imidž će nam pomoći automatizirati pokretačke/ponepravne operacije podešene Ubuntu 20.04, uz mogućnost lakog prebacivanja na drugi računar.

Priprema bat-datoteka i prečaca na Windows radnu površinu

Pomoću uređivača Notepad++ kreiramo bat-datoteke (obavezno u kodiranju OEM-866 za ispravan prikaz simbola ćirilice):
unutar svakog kontejnera prema zadanim postavkama će izgledati ovako: Install-Ubuntu-20.04-plasma-desktop.bat — je namenjen za avtomatizacijo začetne namestitve ustvarjene slike Ubuntu 20.04 na računalniku z že nastavljeno podsistemom WSL2 in X-strežnikom. Če se uporabniško ime in geslo razlikujeta od navedenih v primeru, je treba v ta bat-dokument vnesti ustrezne spremembe:

@echo off
wsl --set-default-version 2
cls
echo Prosimo, da počakate na dokončanje namestitve distribucije Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Distribucija Ubuntu-20.04 je uspešno nameščena!
echo Ne pozabite spremeniti privzete računa «root» na obstoječi uporabniški račun,
echo ali uporabite prednastavljeni račun «engineer», geslo: «password».
pause


unutar svakog kontejnera prema zadanim postavkama će izgledati ovako: Reinstall-Ubuntu-20.04-plasma-desktop.bat — je namenjen za ponovno namestitev pripravljenega obraza Ubuntu 20.04 na računalniku.

@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Prosimo, da počakate na dokončanje ponovne namestitve distribucije Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Distribucija Ubuntu-20.04 je uspešno ponovno nameščena!
pause


unutar svakog kontejnera prema zadanim postavkama će izgledati ovako: Set-default-user.bat — za nastavitev uporabnika «privzeto».

@echo off
set /p answer=Vnesite obstoječi račun v Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Uporabniški račun %answer% v Ubuntu-20.04 je nastavljena kot privzeta!
pause


unutar svakog kontejnera prema zadanim postavkama će izgledati ovako: Start-Ubuntu-20.04-plasma-desktop.bat — pravzaprav zaženite delovno okolje KDE Plasma.

@echo off
echo ===================================== Opozorilo! ============================================
echo  Za pravilno delovanje GUI Ubuntu 20.04 v WSL2 je potrebno uporabiti X strežnik.
echo  Opomba: ob uporabi VcXsrv Windows X strežnika je potrebno razkomentirati
echo  vrstice v datoteki Start-Ubuntu-20.04-plasma-desktop.bat, ki vsebujejo "config.xlaunch" in
echo  "vcxsrv.exe", ter zakomentirati vse vrstice, ki vsebujejo "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


unutar svakog kontejnera prema zadanim postavkama će izgledati ovako: Start-Ubuntu-20.04-terminal.bat — zagon grafičnega terminala brez delovnega okolja KDE Plasma.

@echo off
echo ===================================== Attention! ============================================
echo  To ensure proper operation of Ubuntu 20.04 GUI in WSL2, you need to use an X Server.
echo  Note: If using VcXsrv Windows X Server, you must uncomment
echo  the lines in the Start-Ubuntu-20.04-plasma-desktop.bat file that contain "config.xlaunch" and
echo  "vcxsrv.exe", and comment out all lines containing "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


Also for convenience, we prepare shortcuts in the directory wsl pointing to the corresponding bat files. After that, the contents of the directory wsl looks as follows:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom

Starting the KDE Plasma desktop

We check that all preparatory actions have been completed, try to launch the shortcut Plasma-desktop. A password prompt appears; we enter the account password and… the window closes. This is normal the first time. We try again — and see the familiar KDE Plasma taskbar. We configure the desired appearance of the taskbar; for convenience, it is moved to the right side of the screen and centered. We check the localization settings, adding Russian if necessary:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom

If needed, we move shortcuts for installed Linux applications to the KDE Plasma taskbar.

If Ubuntu 20.04 requires signing out of the user account to apply changes in settings, or if you need to restart the OS, enter the command in Windows Terminal:

wsl -d Ubuntu20.04 --shutdown


Using the shortcut Plasma-desktop ili Konsole you can launch the GUI of KDE Plasma Ubuntu 20.04. For example, we will install the Konsole graphic editor GIMP:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
After the installation is complete, we run from Konsole graphic editor GIMP:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
GIMP is running, which was to be checked.
Here’s how various Linux applications work in KDE Plasma in WSL2:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
the configured KDE Plasma taskbar is on the right side of the screen, and video plays in Firefox with sound.

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom

If necessary, access to Ubuntu20.04 can be configured. SSH in RDP, za to je potrebno namestiti ustrezne storitve z ukazom:

sudo apt install ssh xrdp -y


opomba: za omogočanje dostopa s geslom SSH je potrebno urediti datoteko /etc/ssh/sshd_config, natančneje parameter PasswordAuthentication no je potrebno nastaviti na vrednost PasswordAuthentication yes, shranite spremembe in ponovno zaženite Ubuntu 20.04.

Pri vsakem zagonu Ubuntu 20.04 se spremeni notranji ip-naslov, pred nastavitvijo oddaljenega dostopa je potrebno preveriti trenutni ip-naslov z ukazom ip a:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Ta ip-naslov je potrebno dodati v nastavitve sej SSH in RDP pred zagonom.
Tako izgleda oddaljen dostop preko SSH s pomočjo MobaXterm:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Tako pa izgleda oddaljen dostop preko RDP:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom

Uporaba X-strežnika vcxsrv namesto x410

Zaženemo in nastavimo vcxsrv, pozorno nastavimo ustrezne kljukice:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Shranjujemo nastavljeno konfiguracijo v mapi wslvcxsrv s standardnim imenom config.xlaunch.

Uredimo bat-datoteke Start-Ubuntu-20.04-plasma-desktop.bat in Start-Ubuntu-20.04-terminal.bat v skladu z navodili, ki so v njih.

Zaženemo bližnjico Plasma-desktop, in tako dobimo:

Windows 10 + Linux. Konfiguracija GUI KDE Plasma za Ubuntu 20.04 v WSL2. Korak za korakom
Namizje KDE Plasma popolnoma prekrije namizje Windows, za preklapljanje med okni linux- in windows-aplikacijami uporabljamo znano kombinacijo tipk Alt+Tab, kar ni ravno priročno.
Poleg tega se je izkazala nadležna lastnost X-strežnika vcxsrv – sesede se pri zagonu nekaterih aplikacij, zlasti pri GIMP-u ali LibreOffice Writerju. Morda bo bolje počakati, da razvijalci odpravijo opazne "bug-e", toda to ni gotovo… Tako da za dosego sprejemljivih rezultatov je bolje uporabiti X strežnik Microsoft x410.

Zaključek

Vsekakor je treba pohvaliti podjetje Microsoft, izdelek WSL2 se je izkazal za povsem zmožnega, in po mojem neizkušenem mnenju — precej uspešnega. In kolikor mi je znano, razvijalci še naprej intenzivno delajo na njegovem "izpopolnjenju", in morda — čez eno ali dve leti bo ta podsystem predstavil vse svoje funkcionalne polnosti.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster