
Bevezetés
Ez a cikk a rendszergazdák figyelmébe ajánlott, akik előkészítik a tipikus munkahelyeket Windows 10 operációs rendszert futtató számítógépeken, beleértve a szoftver fejlesztőket is.
Meg kell jegyezni, hogy létezik egy bizonyos probléma, amely a Microsoft Store online boltjában vásárolt programok felhasználói Windows 10 képbe való integrálásának lehetetlenségével kapcsolatos. Részletekbe bocsátkozás nélkül megjegyzem, hogy ez a probléma azzal függ össze, hogy a Microsoft Store-ból telepített programok az Administrator rendszerfiókkal társulnak, és a felhasználói kép létrehozása során az alábbi segédprogrammal sysprep ilyen körülmények között hibák lépnek fel.
A cikkben tárgyalt módszer lehetővé teszi, hogy elkerüljük ezt a problémát a Windows 10 operációs rendszer képének előkészítése során, előzetesen beállított WSL2 alrendszerrel, valamint előre elkészített és beállított Ubuntu 20.04 operációs rendszer KDE Plasma GUI-val, amely a végfelhasználó számára gyakorlatilag korlátlan beállítási lehetőségeket kínál.
Az interneten számos példa és útmutató található a WSL alrendszerek (azaz WSL1 és a viszonylag új WSL2) beállításáról, Linux rendszerek GUI felhasználói felületének beállításáról Ubuntu 16.04 verziótól kezdve egészen az Ubuntu 20.04-ig, de ezek főként a 'könnyű' xfce4 alapú asztali környezetekre vonatkoznak, amelyek érthető korlátozásokkal rendelkeznek a felhasználói beállítások terén. Ami a GUI KDE Plasma beállítását illeti az Ubuntu 20.04-hez, az interneten nem találtam lényeges információt. Ez a lehetőség azonban a végfelhasználónak gyakorlatilag korlátlan beállítási lehetőségeket kínál, mind a rendszer megjelenésében, mind a hardver beállításaiban, természetesen figyelembe véve a WSL2 alrendszerben megvalósított Linux rendszerek integrációjának aktuális lehetőségeit.
A szükséges szoftvercsomag telepítése és WSL2 beállítása
Ellenőrizzük a Windows aktuális verzióját, ehhez a Windows keresősávjába írjuk be a parancsot winver és körülbelül a következőt kapjuk:
Fontos, hogy az operációs rendszer 1903 vagy 1909-es verzióval rendelkezzen (a megadott verzióknak telepítettnek kell lenniük a KB4566116 kumulatív frissítéssel), vagy 2004 (a build száma legalább 19041), a többi információ nem lényeges. Ha a verziószám alacsonyabb, a cikkben ismertetett eredmények helyes megismétlése érdekében ajánlott frissíteni a legújabb Windows verzióra.
A további intézkedések megkönnyítése érdekében telepítsük a díjmentes Windows Terminált a Microsoft Store használatával (más forrásokból is van lehetőség letöltésre):
Telepítsük az X Server X410-et ugyanazon Microsoft Store-ból, ez a program fizetős, de van egy 15 napos ingyenes időszak, ami bőven elegendő különböző tesztek lebonyolítására.
Az X410 ingyenes alternatívájaként és telepítsük az X-server VcXsrv-t.
A lemezen bármilyen kényelmes helyen hozzunk létre egy könyvtárat, ahol tárolni fogjuk a fájljainkat. Például hozzunk létre egy könyvtárat C:wsl.
és telepítsük az Ubuntu 20.04 offline telepítőt, bontsuk ki a kapott fájlt egy tömörítő program segítségével (például 7-zip). A kicsomagolt könyvtárat, amelynek hosszú neve van, nevezzük át Ubuntu_2004.2020.424.0_x64 valami elfogadhatóbbá, például Ubuntu-20.04 és másoljuk át a könyvtárba C:wsl (a továbbiakban egyszerűen wsl).
és bontsuk ki a könyvtárba wsl a cross-platform audio server PulseAudio v.1.1-et, és végezzük el a módosításokat a konfigurációs fájljaiban.
A fájlban wslpulseaudio-1.1etcpulsedefault.pa a következő részben Load audio drivers statically szerkesztjük a következő sort:
load-module module-waveout sink_name=output source_name=input record=0
a következő részben Network access szerkesztjük a következő sort:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
A fájlban wslpulseaudio-1.1etcpulsedaemon.conf töröljük a megjegyzést és módosítsuk a sort
exit-idle-time = -1
A WSL2 alrendszert a Szükség esetén
és telepítjük a WSL2 Linux kernel frissítő csomagját. Indítsuk el a Windows Terminált, és a Command Prompt üzemmódot válasszuk a
Ctrl+Shift+2 billentyűk megnyomásával..
Először is állítsuk be a WSL2 üzemmódot, ehhez írjuk be a parancsot:
wsl --set-default-version 2
Lépjen a 20.04-es Ubuntu önálló betöltő katalógusába, az én esetemben ez wslUbuntu-20.04 és futtassa a fájlt ubuntu2004.exe. Amikor megjelenik a felhasználónév kérdése, adja meg nevét engineer (beírhat bármilyen más nevet), írja be a jelszavát, majd erősítse meg a megadott fiók jelszavát:
Megjelent a terminálparancs sora, az Ubuntu 20.04 kernel telepítve van. Ellenőrizzük a WSL2 mód helyességét, ehhez a Windows Terminálban válassza a Windows PowerShell fület, és írja be a parancsot:
wsl -l -v
a végrehajtás eredménye ennek kell lennie:
A Microsoft Defender tűzfal beállítása, azaz kikapcsolása a köztársasági hálózaton:
Ubuntu 20.04 beállítása
A Windows Terminálban ismét válassza a Parancssor fület, és telepítse az Ubuntu 20.04 frissítéseit. Ehhez a parancssorba írja be:
sudo apt update && sudo apt upgrade –y
Telepítjük a KDE Plasma asztalt:
sudo apt install kubuntu-desktop -y
a telepítés akár 30 percet is igénybe vehet a számítógép teljesítményétől és az internet-hozzáférés sávszélességétől függően, a telepítő kérését a megjelenéskor megerősítjük OK.
Telepítjük az Ubuntu 20.04 orosz lokalizációját és szótárait. Ehhez a parancssorba írja be:
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 # megjegyzés: válassza a ru_RU.UTF-8 UTF-8-at, lásd az alábbi képernyőképeket.
sudo apt-get install --reinstall locales
Hozzáadjuk a legfrissebb KDE Plasma asztali verziót:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Hozzáadjuk a saját konzolalkalmazás készletünket, például mc és neofetch:
sudo apt install mc neofetch -y
Ellenőrizzük, hogy mi lett, írjuk be a parancssorba neofetch, lásd a képernyőképet:
Szerkesztjük a WSL konfigurációs fájlt /etc/wsl.conf:
sudo nano /etc/wsl.conf
a megnyíló üres szövegszerkesztő ablakba másoljuk be a következő szöveget:
[automount]
enabled = true
root = /mnt
options = "metadata,umask=22,fmask=11"
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
mentjük a változtatásokat (Ctrl+O), megerősítjük a műveletet, és kilépünk a szövegszerkesztőből (Ctrl+X).
Exportáljuk a beállított Ubuntu-20.04-es képet a általunk létrehozott mappába wsl. Ehhez a Windows Terminálban ismét válassza a Windows PowerShell fület, és írja be a parancsot:
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
a létrehozott kép segíteni fog az Ubuntu 20.04 indításának/újratelepítésének automatizálásában, szükség esetén lehetővé teszi annak könnyű átvitelét egy másik számítógépre.
Windows asztali bat-fájlok és parancsikonok előkészítése
A Notepad++ szerkesztő segítségével bat-fájlokat készítünk (fontos, hogy OEM-866 kódolásban, a cirill karakterek helyes megjelenítése érdekében):
Fájl Install-Ubuntu-20.04-plasma-desktop.bat — az Ubuntu 20.04 létrehozott képének kezdeti telepítésének automatizálására szolgál olyan számítógépeken, ahol már be van állítva a WSL2 alrendszer és az X-szerver. Ha a felhasználónév és jelszó eltér az itt megadottaktól, módosítani kell ezt a bat-fájlt:
@echo off
wsl --set-default-version 2
cls
echo Kérjük, várjon az Ubuntu-20.04 disztribúció telepítésének befejezésére...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Az Ubuntu-20.04 disztribúció sikeresen telepítve lett!
echo Ne felejtse el megváltoztatni az alapértelmezett "root" fiókot létező felhasználói fiókra,
echo vagy használja a telepített "engineer" fiókot, jelszó: "password".
pause
Fájl Reinstall-Ubuntu-20.04-plasma-desktop.bat — az előkészített Ubuntu 20.04 kép újratelepítésére szolgál a számítógépen.
@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Kérjük, várjon az Ubuntu-20.04 disztribúció újratelepítésének befejezésére...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Az Ubuntu-20.04 disztribúció sikeresen újratelepítve lett!
pause
Fájl Set-default-user.bat — az "alapértelmezett" felhasználó beállítására.
@echo off
set /p answer=Adja meg a létező felhasználói fiókot az Ubuntu-ban (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo A(z) %answer% felhasználói fiók az Ubuntu-20.04-ban alapértelmezetten beállítva lett!
pause
Fájl Start-Ubuntu-20.04-plasma-desktop.bat — a KDE Plasma asztal indítása.
@echo off
echo ===================================== Figyelem! ============================================
echo A GUI Ubuntu 20.04 WSL2-ben való megfelelő működéséhez X Server használata szükséges.
echo Megjegyzés: Ha a VcXsrv Windows X Server-t használja, ki kell kommentálni
echo az "config.xlaunch" és
echo "vcxsrv.exe" feliratú sorokat a Start-Ubuntu-20.04-plasma-desktop.bat fájlban, és meg kell jegyezni az összes sort, amely "x410"-t tartalmaz.
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
Fájl Start-Ubuntu-20.04-terminal.bat — grafikus terminál indítása KDE Plasma asztal nélkül.
@echo off
echo ===================================== Figyelem! ============================================
echo A GUI Ubuntu 20.04 WSL2-ben való megfelelő működéséhez X Server használata szükséges.
echo Megjegyzés: Ha a VcXsrv Windows X Server-t használja, ki kell kommentálnia
echo az "config.xlaunch" és
echo "vcxsrv.exe" feliratú sorokat a Start-Ubuntu-20.04-plasma-desktop.bat fájlban, és meg kell jegyeznie az összes sort, amely "x410"-t tartalmaz.
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
Szintén a használhatóság érdekében a könyvtárban wsl hozzáférhető parancsikonokat készítünk, amelyek az adott bat-fájlokra mutatnak. Ezt követően a könyvtár tartalma wsl a következőképpen néz ki:
KDE Plasma asztal indítása
Ellenőrizzük, hogy minden előkészítő lépést elvégeztünk, próbáljuk elindítani a parancsikont Plasma-desktop. Megjelenik egy jelszó kérés, beírjuk a fiók jelszavát és… az ablak bezárul. Először ez rendben van. Próbáljuk meg újra — és látjuk a megszokott KDE Plasma tálcát. Beállítjuk a szükséges tálca kinézetet, például a kényelem érdekében a tálcát a képernyő jobb oldalára visszük és középre igazítjuk. Ellenőrizzük a nyelvi beállításokat, szükség esetén hozzáadjuk az orosz nyelvet:
Szükség esetén a KDE Plasma tálcára elhelyezzük a telepített linux-alkalmazások parancsikonjait.
Ha az Ubuntu 20.04 kéri, hogy lépjünk ki a felhasználói fiókból a beállítások módosításainak alkalmazásához, vagy szükség van az operációs rendszer újraindítására, ezt a Windows Terminálban a következő parancs beírásával tehetjük:
wsl -d Ubuntu20.04 --shutdown
A parancsikonon keresztül Plasma-desktop vagy Konsole elindíthatjuk a KDE Plasma Ubuntu 20.04 GUI-t. Például telepítsük a Konsole grafikus szerkesztő GIMP-et:
A telepítés befejezése után indítsuk el a Konsole grafikus szerkesztő GIMP-et:
A GIMP működik, amit ellenőrizni kellett.
Itt látható, hogyan működnek a különböző linux-alkalmazások a KDE Plasma alatt WSL2-ben:
a beállított KDE Plasma tálca a képernyő jobb oldalán található, és a videó a Firefox ablakában hanggal játszik le.
Szükség esetén beállíthatjuk az Ubuntu20.04-hez való hozzáférést SSH és RDP, ehhez a megfelelő szolgáltatásokat kell telepíteni a következő paranccsal:
sudo apt install ssh xrdp -y
megjegyzés: a jelszóval való hozzáférés engedélyezéséhez SSH szerkesztenünk kell a fájlt /etc/ssh/sshd_config, mégpedig a PasswordAuthentication no paramétert PasswordAuthentication yes, a módosításokat menteni kell és újra kell indítani az Ubuntu20.04-et.
Minden indításkor az Ubuntu20.04 belső ip-címe megváltozik, a távoli hozzáférés beállítása előtt a következő paranccsal meg kell határozni az aktuális ip-címet ip a:
Ennek megfelelően ezt az ip-címet be kell írni a munkamenetek beállításaiba SSH és RDP az indítás előtt.
Így néz ki a távoli hozzáférés a SSH MobaXterm segítségével:
Így néz ki a távoli hozzáférés a RDP:
A x410 helyett a vcxsrv X-szerver használata
Indítsuk el és állítsuk be vcxsrv, figyelmesen állítsuk be a megfelelő jelölőnégyzeteket:




Mentjük a beállított konfigurációt a wslvcxsrv alapértelmezett névvel config.xlaunch.
Szerkesztjük a bat-fájlokat Start-Ubuntu-20.04-plasma-desktop.bat és Start-Ubuntu-20.04-terminal.bat a bennük található utasítások szerint.
Indítsuk el a parancsikont Plasma-desktop, és ez az, amit kapunk:
A KDE Plasma asztal teljesen elfedi a Windows asztalt, a linux- és windows-alkalmazások közötti váltáshoz az ismert billentyűkombinációt használjuk Alt+Tab, ami nem túl kényelmes.
Ezen kívül egy kellemetlen jellemzője van az X-szervernek vcxsrv – az bizonyos alkalmazások elindításakor "összeomlik", különösen a GIMP vagy a LibreOffice Writer esetében. Lehet, hogy érdemes várni, amíg a fejlesztők kijavítják a megfigyelt "hibákat", de ez nem bizonyos... Így jobb elfogadható eredmények eléréséhez X Server Microsoft x410-et használni.
Zárás
Ennek ellenére el kell ismerni a Microsoft céget, a WSL2 termék egész jól működik, és a laikus szemem szerint – meglehetősen sikeres. Tudomásom szerint a fejlesztők továbbra is szorgalmasan "javítanak" rajta, és lehet, hogy egy év vagy kettő múlva ez a rendszer teljes funkcionalitásában megjelenik.
Forrás: habr.com
