Úvod
Tento článok je určený pre systémových administrátorov, ktorí pripravujú typické pracoviská na počítačoch so systémom Windows 10, vrátane vývojárov softvéru.
Je potrebné poznamenať, že existuje určitý problém spojený s nemožnosťou integrácie softvéru získaného z internetového obchodu Microsoft Store na použitie do vlastného obrazu systému Windows 10. Bez toho, aby som zachádzal do podrobností, objasním, že tento problém súvisí so skutočnosťou, že programy nainštalované z obchodu Microsoft Store komunikujú s účtom služby Administrator a po dokončení vytvárania vlastného obrazu pomôckou sysprep
v dôsledku tejto okolnosti dochádza k chybám.
Metóda diskutovaná v tomto článku sa vyhýba tomuto problému pri príprave obrazu OS Windows 10 s predkonfigurovaným subsystémom WSL2, ako aj vopred pripraveného a nakonfigurovaného obrazu OS Ubuntu 20.04 s KDE Plasma GUI, ktoré môže mať svoje vlastné sada softvéru na mieru.
Na internete je veľa príkladov a návodov na nastavenie subsystémov WSL (t. j. WSL1 a relatívne nový WSL2), s nastavením rozhrania GUI pre OS založené na linuxových systémoch od Ubuntu 16.04 po Ubuntu 20.04, ale týkalo sa to hlavne desktopov na tzv. „ľahký“ xfce4, ktorý má pochopiteľné obmedzenia v používateľských nastaveniach. Ale čo sa týka KDE Plasma GUI pre Ubuntu 20.04, na internete nie je veľa informácií. Ale práve táto možnosť poskytuje koncovému používateľovi takmer neobmedzenú sadu nastavení ako vzhľadu systému, tak aj hardvérových nastavení, samozrejme s prihliadnutím na aktuálne integračné možnosti linuxových systémov implementovaných v subsystéme WSL2.
Inštalácia požadovanej sady softvéru a konfigurácia WSL2
Skontrolujeme aktuálnu verziu systému Windows, preto do vyhľadávacieho panela systému Windows zadajte príkaz winver
a dostaneme niečo takéto:
Je dôležité, aby bola verzia OS 1903 alebo 1909 (uvedené verzie OS musia byť s nainštalovanou kumulatívnou aktualizáciou KB4566116) alebo 2004 (číslo zostavy nie menšie ako 19041), na ostatných informáciách nezáleží. Ak je číslo verzie nižšie, odporúča sa inovovať na najnovšiu verziu systému Windows, aby sa výsledky v tomto článku správne reprodukovali.
Pre pohodlie ďalších akcií si nainštalujte bezplatný Windows Terminal pomocou Microsoft Store (existuje aj možnosť stiahnutia z iných zdrojov):
Inštalujeme X Server X410 prostredníctvom rovnakého obchodu Microsoft Store, tento softvér je platený, ale je k dispozícii bezplatné obdobie 15 dní, čo je dosť na rôzne testy.
Ako bezplatná alternatíva k X410
Na akomkoľvek vhodnom mieste na disku si vytvoríme adresár, do ktorého budeme ukladať naše súbory. Ako príklad si vytvoríme adresár C:wsl
.
Ubuntu_2004.2020.424.0_x64
do niečoho prijateľnejšieho, napr Ubuntu-20.04
a skopírujte ho do adresára C:wsl
(ďalej len jednoducho wsl
).
wsl
multiplatformový zvukový server PulseAudio v.1.1., robíme aj opravy v jeho konfiguračných súboroch.
V súbore wslpulseaudio-1.1etcpulsedefault.pa
časť Load audio drivers statically
upraviť riadok:
load-module module-waveout sink_name=output source_name=input record=0
a v sekcii Network access
upraviť riadok:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
V súbore wslpulseaudio-1.1etcpulsedaemon.conf
odkomentujte a zmeňte riadok
exit-idle-time = -1
Subsystém WSL2 konfigurujeme v súlade s
Ak je to nevyhnutné
Spustíme Windows Terminal a stlačením kláves vyberieme režim príkazového riadka Ctrl+Shift+2
.
Najprv nastavíme prevádzkový režim WSL2, na tento účel zadáme príkaz:
wsl --set-default-version 2
Prejdite do adresára samostatného zavádzača Ubuntu 20.04, v mojom prípade je to tak wslUbuntu-20.04
a spustite súbor ubuntu2004.exe
. Keď sa zobrazí výzva na zadanie používateľského mena, zadajte používateľské meno engineer
(môžete zadať akékoľvek iné meno), zadajte svoje heslo a potvrďte zadané heslo pre zadaný účet:
Zobrazí sa výzva terminálu, jadro Ubuntu 20.04 je nainštalované. Skontrolujeme správnosť nastavení režimu WSL2, preto v termináli Windows vyberte kartu Windows PowerShell a zadajte príkaz:
wsl -l -v
výsledok vykonania by mal byť takýto:
Nakonfigurujeme firewall Microsoft Defender, t.j. zakázať pre verejnú sieť:
Nastavenie Ubuntu 20.04
V termináli Windows znova vyberte kartu Príkazový riadok a nainštalujte aktualizácie pre Ubuntu 20.04. Ak to chcete urobiť, na príkazovom riadku zadajte:
sudo apt update && sudo apt upgrade –y
Nainštalujte pracovnú plochu KDE Plasma:
sudo apt install kubuntu-desktop -y
inštalácia trvá do 30 minút, v závislosti od výkonu počítača a šírky pásma internetového prístupového kanála, po výzve inštalátora potvrdíme OK
.
Nainštalujte ruskú lokalizáciu a slovníky Ubuntu 20.04. Ak to chcete urobiť, na príkazovom riadku zadajte:
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
Pridajte najnovšiu verziu pracovnej plochy KDE Plasma:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Pridávame napríklad vlastnú sadu konzolových aplikácií mc
и neofetch
:
sudo apt install mc neofetch -y
Skontrolujeme, čo sa stalo, zadajte do príkazového riadku neofetch
, pozri snímku obrazovky:
Úprava konfiguračného súboru WSL /etc/wsl.conf
:
sudo nano /etc/wsl.conf
skopírujte text do prázdneho okna textového editora, ktoré sa otvorí:
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
uložiť zmeny (Ctrl+O
), potvrďte operáciu a ukončite textový editor (Ctrl+X
).
Export prispôsobeného obrazu Ubuntu-20.04 do adresára, ktorý sme vytvorili wsl
. Ak to chcete urobiť, v termináli systému Windows znova vyberte kartu Windows PowerShell a zadajte príkaz:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
vytvorený obrázok nám pomôže zautomatizovať operácie spustenia / preinštalovania nakonfigurovaného Ubuntu 20.04, v prípade potreby nám ho umožní jednoducho preniesť na iný počítač.
Príprava bat súborov a odkazov na pracovnú plochu Windows
Pomocou editora Notepad ++ vytvorte bat súbory (požadované v kódovaní OEM-866 pre správny výstup znakov cyriliky):
súbor Install-Ubuntu-20.04-plasma-desktop.bat
- určený na automatizáciu počiatočnej inštalácie vytvoreného obrazu Ubuntu 20.04 na počítači s už nakonfigurovaným subsystémom WSL2 a X serverom. Ak sa používateľské meno a heslo líšia od tých, ktoré sú uvedené v príklade, musíte v tomto bat súbore vykonať príslušné zmeny:
@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
súbor Reinstall-Ubuntu-20.04-plasma-desktop.bat
- určený na preinštalovanie pripraveného obrazu Ubuntu 20.04 do počítača.
@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
súbor Set-default-user.bat
- na nastavenie predvoleného používateľa.
@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause
súbor Start-Ubuntu-20.04-plasma-desktop.bat
- skutočné spustenie pracovnej plochy 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
súbor Start-Ubuntu-20.04-terminal.bat
- spustenie grafického terminálu bez pracovnej plochy 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
Aj pre jednoduchosť použitia v katalógu wsl
pripravíme skratky ukazujúce na príslušné bat-súbory. Potom obsah adresára wsl
je nasledovné:
Spustenie plazmovej plochy KDE
Skontrolujeme, či boli dokončené všetky prípravné kroky, pokúsime sa spustiť skratku Plasma-desktop
. Zobrazí sa žiadosť o heslo, zadajte heslo účtu a ... okno sa zatvorí. Prvýkrát je to v poriadku. Skúsime to znova – a vidíme známy panel úloh KDE Plasma. Prispôsobujeme vzhľad panela úloh, v príklade je panel pre jednoduché používanie presunutý na pravú stranu obrazovky a vycentrovaný. Skontrolujeme nastavenia lokalizácie, v prípade potreby pridáme ruský jazyk:
V prípade potreby prinášame skratky pre nainštalované linuxové aplikácie na panel úloh KDE Plasma.
Ak Ubuntu 20.04 vyžaduje, aby ste sa odhlásili zo svojho používateľského účtu, aby ste mohli použiť zmeny v nastaveniach, alebo ak potrebujete reštartovať OS, zadajte v termináli Windows príkaz:
wsl -d Ubuntu20.04 --shutdown
So štítkom Plasma-desktop
alebo Konsole
môžete spustiť KDE Plasma Ubuntu 20.04 GUI. Napríklad nainštalujte pomocou Konsole
Grafický editor GIMP:
Po dokončení inštalácie spustite z Konsole
Grafický editor GIMP:
GIMP funguje, čo som chcel skontrolovať.
A takto fungujú rôzne linuxové aplikácie v KDE Plasma vo WSL2:
prispôsobený panel úloh KDE Plasma sa nachádza na pravej strane obrazovky. a video v okne Firefoxu sa prehrá so zvukom.
V prípade potreby môžete nakonfigurovať prístup k Ubuntu20.04 pomocou SSH
и RDP
, na tento účel musíte nainštalovať príslušné služby pomocou príkazu:
sudo apt install ssh xrdp -y
poznámka: ak chcete povoliť prístup pomocou hesla SSH
musíte súbor upraviť /etc/ssh/sshd_config
, konkrétne parametra PasswordAuthentication no
musí byť nastavené na PasswordAuthentication yes
, uložte zmeny a reštartujte Ubuntu20.04.
Pri každom spustení Ubuntu20.04 sa zmení interná IP adresa, pred nastavením vzdialeného prístupu musíte skontrolovať aktuálnu IP adresu pomocou príkazu ip a
:
V súlade s tým musí byť táto IP adresa zadaná v nastaveniach relácie SSH
и RDP
pred spustením.
Takto vyzerá vzdialený prístup SSH
pomocou MobaXterm:
A takto vyzerá vzdialený prístup RDP
:
Použitie x servera vcxsrv namiesto x410
Spustenie a nastavenie vcxsrv
, starostlivo začiarknite príslušné políčka:
Uloženie nakonfigurovanej konfigurácie do adresára wslvcxsrv
so štandardným názvom config.xlaunch
.
Úprava súborov bat Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
podľa ich pokynov.
Spustenie skratky Plasma-desktop
a toto dostaneme:
Plazmová plocha KDE úplne zatvorí plochu Windows, na prepínanie medzi oknami linuxu a windows aplikáciami používame známu kombináciu klávesov Alt+Tab
, čo nie je príliš pohodlné.
Okrem toho bola odhalená nepríjemná vlastnosť X servera vcxsrv
- zlyhá, keď spustíte niektoré aplikácie, najmä rovnaký GIMP alebo LibreOffice Writer. Možno by sme mali počkať, kým vývojári neodstránia zaznamenané „chyby“, ale to nie je isté... Aby sme dosiahli prijateľné výsledky, je lepšie použiť X Server Microsoft x410.
Záver
Napriek tomu musíme vzdať hold Microsoftu, produkt WSL2 sa ukázal ako celkom funkčný a podľa môjho neskúseného názoru veľmi úspešný. A pokiaľ viem, vývojári ho naďalej intenzívne „dokončujú“ a možno – o rok-dva sa tento subsystém objaví v celej svojej funkčnej kompletnosti.
Zdroj: hab.com