Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia

Wprowadzenie

Ten artykuł jest przeznaczony dla administratorów systemów, którzy przygotowują typowe stanowiska pracy na komputerach z systemem Windows 10, w tym programistów.

Należy zauważyć, że istnieje pewien problem związany z niemożnością zintegrowania oprogramowania uzyskanego ze sklepu internetowego Microsoft Store do użycia w niestandardowym obrazie systemu Windows 10. Nie wchodząc w szczegóły wyjaśnię, że problem ten jest związany z faktem, że programy instalowane ze sklepu Microsoft Store komunikują się z kontem usługi Administratora, a tworzenie niestandardowego obrazu jest zakończone przez narzędzie sysprep wystąpią błędy z powodu tej okoliczności.

Metoda omówiona w tym artykule pozwala uniknąć tego problemu podczas przygotowywania obrazu systemu operacyjnego Windows 10 ze wstępnie skonfigurowanym podsystemem WSL2, a także wstępnie przygotowanego i skonfigurowanego obrazu systemu operacyjnego Ubuntu 20.04 z graficznym interfejsem użytkownika KDE Plasma, który z kolei może mieć własny zestaw niestandardowego oprogramowania.

W Internecie jest wiele przykładów i samouczków dotyczących konfigurowania podsystemów WSL (tj. WSL1 i stosunkowo nowego WSL2), z konfiguracją interfejsu GUI dla systemów operacyjnych opartych na systemie Linux od Ubuntu 16.04 do Ubuntu 20.04, ale dotyczyło to głównie komputerów stacjonarnych opartych na tzw. „lekki” xfce4, który ma zrozumiałe ograniczenia w ustawieniach użytkownika. Ale jeśli chodzi o GUI KDE Plasma dla Ubuntu 20.04, w sieci nie ma zbyt wielu informacji. Ale to właśnie ta opcja zapewnia użytkownikowi końcowemu niemal nieograniczony zestaw ustawień zarówno wyglądu systemu, jak i ustawień sprzętowych, oczywiście z uwzględnieniem aktualnych możliwości integracyjnych systemów linux zaimplementowanych w podsystemie WSL2.

Instalacja wymaganego zestawu oprogramowania i konfiguracja WSL2

Sprawdzamy aktualną wersję systemu Windows, w tym celu w pasku wyszukiwania systemu Windows wprowadź polecenie winver i otrzymujemy coś takiego:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Ważne jest, aby wersja systemu operacyjnego to 1903 lub 1909 (określone wersje systemu operacyjnego muszą być z zainstalowaną aktualizacją zbiorczą KB4566116) lub 2004 (numer kompilacji nie mniejszy niż 19041), reszta informacji nie ma znaczenia. Jeśli numer wersji jest niższy, zaleca się uaktualnienie do najnowszej wersji systemu Windows, aby poprawnie odtworzyć wyniki z tego artykułu.

Dla wygody dalszych działań zainstaluj bezpłatny Windows Terminal za pomocą Microsoft Store (istnieje również możliwość pobrania z innych źródeł):

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Instalujemy X Server X410 za pośrednictwem tego samego sklepu Microsoft Store, to oprogramowanie jest płatne, ale jest bezpłatny okres 15 dni, który wystarcza na różne testy.

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Jako bezpłatna alternatywa dla X410 pobierać i zainstaluj serwer VcXsrv X.

W dowolnym dogodnym miejscu na dysku tworzymy katalog, w którym będziemy przechowywać nasze pliki. Jako przykład utwórzmy katalog C:wsl.

Ściąganie i zainstaluj samodzielny instalator Ubuntu 20.04, rozpakuj wynikowy plik za pomocą archiwizatora (na przykład 7-zip). Zmień nazwę rozpakowanego katalogu na długą Ubuntu_2004.2020.424.0_x64 w coś bardziej akceptowalnego, np Ubuntu-20.04 i skopiuj go do katalogu C:wsl (dalej po prostu wsl).

Ściąganie i rozpakuj do katalogu wsl wieloplatformowy serwer dźwięku PulseAudio v.1.1., dokonujemy również poprawek w jego plikach konfiguracyjnych.

W pliku wslpulseaudio-1.1etcpulsedefault.pa sekcja Load audio drivers statically edytuj linię:

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


i w sekcji Network access edytuj linię:

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


W pliku wslpulseaudio-1.1etcpulsedaemon.conf odkomentuj i zmień linię

exit-idle-time = -1


Konfigurujemy podsystem WSL2 zgodnie z dokumentacja Microsoftu. Jedyną uwagą jest to, że pobraliśmy już dystrybucję Ubuntu i zainstalujemy ją w następnym kroku. Zasadniczo konfiguracja sprowadza się do włączenia dodatkowych komponentów „Windows Subsystem for Linux” i „Virtual Machine Platform”, a następnie ponownego uruchomienia w celu zastosowania zmian w ustawieniach komputera:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia

Jeśli jest to konieczne, pobierać i zainstaluj pakiet serwisowy jądra systemu Linux w WSL2.
Uruchamiamy Windows Terminal i wybieramy tryb wiersza polecenia, naciskając klawisze Ctrl+Shift+2.

Przede wszystkim ustawiamy tryb działania WSL2, w tym celu wpisujemy polecenie:

wsl  --set-default-version 2


Przejdź do samodzielnego katalogu programu ładującego Ubuntu 20.04, w moim przypadku tak jest wslUbuntu-20.04 i uruchom plik ubuntu2004.exe. Po wyświetleniu monitu o podanie nazwy użytkownika wprowadź nazwę użytkownika engineer (możesz wpisać dowolną inną nazwę), wprowadź swoje hasło i zatwierdź wprowadzone hasło do wskazanego konta:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Pojawi się monit terminala, jądro Ubuntu 20.04 jest zainstalowane. Sprawdźmy poprawność ustawień trybu WSL2, w tym celu w Windows Terminal wybieramy zakładkę Windows PowerShell i wpisujemy komendę:

wsl -l -v


wynik wykonania powinien być taki:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia

Konfigurujemy zaporę sieciową Microsoft Defender, tj. wyłącz go dla sieci publicznej:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia

Konfigurowanie Ubuntu 20.04

W terminalu Windows wybierz ponownie kartę Wiersz polecenia i zainstaluj aktualizacje dla Ubuntu 20.04. Aby to zrobić, w wierszu poleceń wpisz:

sudo apt update && sudo apt upgrade –y


Zainstaluj pulpit KDE Plasma:

sudo apt install kubuntu-desktop -y


instalacja trwa do 30 minut, w zależności od wydajności komputera i przepustowości kanału dostępu do internetu, na żądanie instalatora potwierdzamy OK.
Zainstaluj rosyjską lokalizację i słowniki Ubuntu 20.04. Aby to zrobić, w wierszu poleceń wpisz:

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 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Dodaj najnowszą wersję pulpitu KDE Plasma:

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


Dodajemy własny zestaw aplikacji konsolowych np mc и neofetch:

sudo apt install mc neofetch -y


Sprawdzamy, co się stało, wchodzimy do wiersza poleceń neofetch, zobacz zrzut ekranu:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Edycja pliku konfiguracyjnego WSL /etc/wsl.conf:

sudo nano /etc/wsl.conf


skopiuj tekst do pustego okna edytora tekstu, które zostanie otwarte:

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


Zapisz zmiany (Ctrl+O), potwierdź operację i zamknij edytor tekstu (Ctrl+X).

Eksportowanie dostosowanego obrazu Ubuntu-20.04 do utworzonego przez nas katalogu wsl. Aby to zrobić, w terminalu Windows ponownie wybierz kartę Windows PowerShell i wprowadź polecenie:

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


utworzony obraz pomoże nam zautomatyzować operacje uruchamiania/reinstalacji skonfigurowanego Ubuntu 20.04, w razie potrzeby pozwoli nam w łatwy sposób przenieść go na inny komputer.

Przygotowanie plików bat i skrótów do pulpitu Windows

Za pomocą edytora Notepad ++ utwórz pliki bat (wymagane w kodowaniu OEM-866 do poprawnego wyjścia znaków cyrylicy):
plik Install-Ubuntu-20.04-plasma-desktop.bat - przeznaczony do automatyzacji wstępnej instalacji utworzonego obrazu Ubuntu 20.04 na komputerze z już skonfigurowanym podsystemem WSL2 i serwerem X. Jeśli nazwa użytkownika i hasło różnią się od podanych w przykładzie, musisz dokonać odpowiednich zmian w tym pliku 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


plik Reinstall-Ubuntu-20.04-plasma-desktop.bat - przeznaczony do ponownej instalacji przygotowanego obrazu Ubuntu 20.04 na komputerze.

@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


plik Set-default-user.bat - aby ustawić domyślnego użytkownika.

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


plik Start-Ubuntu-20.04-plasma-desktop.bat - faktyczne uruchomienie pulpitu 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


plik Start-Ubuntu-20.04-terminal.bat - uruchomienie terminala graficznego bez pulpitu 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


Również dla ułatwienia korzystania z katalogu wsl przygotowujemy skróty wskazujące na odpowiednie pliki bat. Następnie zawartość katalogu wsl wygląda tak:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia

Uruchamianie pulpitu plazmowego KDE

Sprawdzamy, czy wszystkie czynności przygotowawcze zostały zakończone, próbujemy uruchomić skrót Plasma-desktop. Pojawia się prośba o hasło, wprowadź hasło do konta i… okno się zamknie. Za pierwszym razem jest ok. Próbujemy ponownie - i widzimy znajomy pasek zadań Plazmy KDE. Dostosowujemy wygląd paska zadań, w przykładzie dla ułatwienia obsługi panel został przesunięty na prawą stronę ekranu i wyśrodkowany. Sprawdzamy ustawienia lokalizacji, w razie potrzeby dodajemy język rosyjski:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia

W razie potrzeby wprowadzamy skróty do zainstalowanych aplikacji linuksowych na pasku zadań KDE Plasma.

Jeśli Ubuntu 20.04 wymaga wylogowania się z konta użytkownika w celu zastosowania zmian w ustawieniach lub musisz ponownie uruchomić system operacyjny, w tym celu w terminalu Windows wpisz polecenie:

wsl -d Ubuntu20.04 --shutdown


Z etykietą Plasma-desktop lub Konsole możesz uruchomić GUI KDE Plasma Ubuntu 20.04. Na przykład zainstaluj za pomocą Konsole Edytor grafiki GIMP:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Po zakończeniu instalacji uruchom z Konsole Edytor grafiki GIMP:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
GIMP działa, co chciałem sprawdzić.
A oto jak działają różne aplikacje linuksowe w KDE Plasma w WSL2:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
dostosowany pasek zadań Plazmy KDE znajduje się po prawej stronie ekranu. a wideo w oknie Firefoksa jest odtwarzane z dźwiękiem.

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia

W razie potrzeby możesz skonfigurować dostęp do Ubuntu20.04 przez SSH и RDP, w tym celu należy zainstalować odpowiednie usługi za pomocą polecenia:

sudo apt install ssh xrdp -y


uwaga: aby włączyć dostęp za pomocą hasła SSH musisz edytować plik /etc/ssh/sshd_config, a mianowicie parametr PasswordAuthentication no musi być ustawiony na PasswordAuthentication yes, zapisz zmiany i uruchom ponownie Ubuntu20.04.

Za każdym razem, gdy uruchamiasz Ubuntu20.04, zmienia się wewnętrzny adres IP, przed skonfigurowaniem zdalnego dostępu musisz sprawdzić aktualny adres IP za pomocą polecenia ip a:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
W związku z tym ten adres IP należy wprowadzić w ustawieniach sesji SSH и RDP przed rozpoczęciem.
Tak wygląda zdalny dostęp SSH za pomocą MobaXterm:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
A tak wygląda zdalny dostęp RDP:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia

Używanie serwera x vcxsrv zamiast x410

Uruchomienie i konfiguracja vcxsrv, ostrożnie zaznacz odpowiednie pola wyboru:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Zapisanie skonfigurowanej konfiguracji w katalogu wslvcxsrv ze standardową nazwą config.xlaunch.

Edycja plików bat Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat zgodnie z ich instrukcjami.

Uruchamianie skrótu Plasma-desktop, i oto co otrzymujemy:

Windows 10 + Linuks. Konfigurowanie GUI KDE Plasma dla Ubuntu 20.04 w WSL2. Opis przejścia
Pulpit KDE Plasma całkowicie zamyka pulpit Windows, aby przełączać się między oknami aplikacji Linux i Windows używamy dobrze znanej kombinacji klawiszy Alt+Tab, co nie jest zbyt wygodne.
Ponadto ujawniono nieprzyjemną funkcję serwera X vcxsrv - zawiesza się podczas uruchamiania niektórych aplikacji, w szczególności tego samego GIMP lub LibreOffice Writer. Być może powinniśmy poczekać, aż deweloperzy usuną zauważone „błędy”, ale to nie jest pewne… Aby więc uzyskać akceptowalne wyniki, lepiej skorzystać z X Serwera Microsoft x410.

wniosek

Mimo to musimy oddać hołd Microsoftowi, produkt WSL2 okazał się całkiem sprawny i moim niedoświadczonym zdaniem bardzo udany. I o ile mi wiadomo, twórcy nadal intensywnie go „dokańczają” i być może – za rok lub dwa podsystem ten pojawi się w całej swojej funkcjonalnej kompletności.

Źródło: www.habr.com

Dodaj komentarz