Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка

въведение

Тази статия е предназначена за вниманието на системните администратори, които подготвят типични работни места на компютри, работещи под Windows 10, включително разработчици на софтуер.

Трябва да се отбележи, че има известен проблем, свързан с невъзможността за интегриране на софтуер, получен от онлайн магазина на Microsoft Store, за използване в потребителско изображение на Windows 10. Без да навлизам в подробности, ще поясня, че този проблем е свързан с факта, че програмите, инсталирани от Microsoft Store, комуникират с акаунта на услугата Administrator и когато създаването на персонализирано изображение е завършено от помощната програма sysprep възникват грешки поради това обстоятелство.

Методът, обсъден в тази статия, избягва този проблем при подготовката на образ на Windows 10 OS с предварително конфигурирана WSL2 подсистема, както и предварително подготвен и конфигуриран образ на Ubuntu 20.04 OS с KDE Plasma GUI, който от своя страна може да има собствен набор от персонализиран софтуер.

Има много примери и уроци в интернет за настройка на WSL подсистеми (т.е. WSL1 и сравнително новия WSL2), с настройка на GUI интерфейс за базирани на Linux OS системи от Ubuntu 16.04 до Ubuntu 20.04, но това се отнася главно за настолни компютри на т.нар. "олекотен" xfce4, който има разбираеми ограничения в потребителските настройки. Но що се отнася до KDE Plasma GUI за Ubuntu 20.04, в мрежата няма много информация. Но именно тази опция предоставя на крайния потребител почти неограничен набор от настройки както за външния вид на системата, така и за хардуерните настройки, разбира се, като се вземат предвид текущите възможности за интеграция на Linux системите, внедрени в подсистемата WSL2.

Инсталиране на необходимия набор от софтуер и конфигуриране на WSL2

Проверяваме текущата версия на Windows, за това в лентата за търсене на Windows въведете командата winver и получаваме нещо подобно:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Важно е версията на ОС да е 1903 или 1909 (посочените версии на ОС трябва да са с инсталирана кумулативна актуализация KB4566116) или 2004 (номер на компилация не по-малък от 19041), останалата информация няма значение. Ако номерът на версията е по-малък от този, се препоръчва да надстроите до най-новата версия на Windows, за да възпроизведете правилно резултатите в тази статия.

За удобство на по-нататъшни действия инсталирайте безплатния терминал на Windows с помощта на Microsoft Store (съществува и възможност за изтегляне от други източници):

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Ние инсталираме X Server X410 през същия Microsoft Store, този софтуер е платен, но има безплатен период от 15 дни, което е достатъчно за различни тестове.

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Като безплатна алтернатива на X410 Изтегли и инсталирайте VcXsrv X сървъра.

На всяко удобно място на диска създаваме директория, в която ще съхраняваме нашите файлове. Като пример, нека създадем директория C:wsl.

Изтеглете и инсталирайте самостоятелния инсталатор на Ubuntu 20.04, разопаковайте получения файл с помощта на архиватор (например 7-zip). Преименувайте разопакованата директория с дълго име Ubuntu_2004.2020.424.0_x64 в нещо по-приемливо, като Ubuntu-20.04 и го копирайте в директорията C:wsl (по-нататък просто wsl).

Изтеглете и разархивирайте в директория wsl крос-платформен звуков сървър PulseAudio v.1.1., ние също правим корекции в конфигурационните му файлове.

Във файла wslpulseaudio-1.1etcpulsedefault.pa раздел Load audio drivers statically редактирайте реда:

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


и в секцията Network access редактирайте реда:

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


Във файла wslpulseaudio-1.1etcpulsedaemon.conf разкоментирайте и променете реда

exit-idle-time = -1


Ние конфигурираме подсистемата WSL2 в съответствие с документация Microsoft. Единствената забележка е, че вече сме изтеглили дистрибуцията на Ubuntu и ще я инсталираме в следващата стъпка. По принцип конфигурацията се свежда до активиране на допълнителните компоненти „Windows Subsystem for Linux“ и „Virtual Machine Platform“ и след това рестартиране, за да се приложат промените в настройките на компютъра:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка

Ако е необходимо Изтегли и инсталирайте сервизния пакет на ядрото на Linux в WSL2.
Стартираме Windows Terminal и избираме режима Command Prompt, като натискаме клавишите Ctrl+Shift+2.

На първо място, задаваме режима на работа WSL2, за това въвеждаме командата:

wsl  --set-default-version 2


Променете към самостоятелната директория за зареждане на Ubuntu 20.04, в моя случай това е wslUbuntu-20.04 и стартирайте файла ubuntu2004.exe. Когато бъдете подканени за потребителско име, въведете го engineer (можете да въведете всяко друго име), въведете вашата парола и потвърдете въведената парола за посочения акаунт:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Появява се терминална подкана, ядрото на Ubuntu 20.04 е инсталирано. Нека проверим правилността на настройките на режима WSL2, за това в терминала на Windows изберете раздела Windows PowerShell и въведете командата:

wsl -l -v


резултатът от изпълнението трябва да бъде така:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка

Ние конфигурираме защитната стена на Microsoft Defender, т.е. деактивирайте го за обществената мрежа:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка

Настройка на Ubuntu 20.04

В терминала на Windows изберете отново раздела Command Prompt и инсталирайте актуализации за Ubuntu 20.04. За да направите това, в командния ред въведете:

sudo apt update && sudo apt upgrade –y


Инсталирайте работния плот на KDE Plasma:

sudo apt install kubuntu-desktop -y


инсталацията отнема до 30 минути, в зависимост от производителността на компютъра и честотната лента на канала за достъп до интернет, когато бъдете подканени от инсталатора, ние потвърждаваме OK.
Инсталирайте руска локализация и речници Ubuntu 20.04. За да направите това, в командния ред въведете:

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 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Добавете най-новата версия на работния плот на KDE Plasma:

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


Добавяме например собствен набор от конзолни приложения mc и neofetch:

sudo apt install mc neofetch -y


Проверяваме какво се е случило, влизаме в командния ред neofetch, вижте екранна снимка:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Редактиране на WSL конфигурационния файл /etc/wsl.conf:

sudo nano /etc/wsl.conf


копирайте текста в празния прозорец на текстовия редактор, който се отваря:

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


запазите промените (Ctrl+O), потвърдете операцията и излезте от текстовия редактор (Ctrl+X).

Експортиране на персонализираното изображение на Ubuntu-20.04 в директорията, която създадохме wsl. За да направите това, в терминала на Windows изберете отново раздела Windows PowerShell и въведете командата:

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


създаденото изображение ще ни помогне да автоматизираме операциите по стартиране / преинсталиране на конфигурирания Ubuntu 20.04, ако е необходимо, ще ни позволи лесно да го прехвърлим на друг компютър.

Подготовка на bat файлове и преки пътища към работния плот на Windows

С помощта на редактора Notepad ++ създайте bat файлове (необходими в кодирането OEM-866 за правилния изход на кирилица):
досие Install-Ubuntu-20.04-plasma-desktop.bat - предназначен за автоматизиране на първоначалната инсталация на създадения образ на Ubuntu 20.04 на компютър с вече конфигурирана подсистема WSL2 и X сървър. Ако потребителското име и паролата се различават от посочените в примера, тогава трябва да направите съответните промени в този 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


досие Reinstall-Ubuntu-20.04-plasma-desktop.bat - предназначен за преинсталиране на подготвения образ на Ubuntu 20.04 на компютъра.

@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


досие Set-default-user.bat - за задаване на потребител по подразбиране.

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


досие Start-Ubuntu-20.04-plasma-desktop.bat - действителното стартиране на работния плот на 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


досие Start-Ubuntu-20.04-terminal.bat - стартиране на графичен терминал без работния плот на 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


Също така за лесна употреба в каталога wsl ние подготвяме преки пътища, сочещи към съответните bat-файлове. След това съдържанието на директорията wsl изглежда така:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка

Стартиране на KDE Plasma Desktop

Проверяваме дали всички подготвителни стъпки са изпълнени, опитваме се да стартираме прекия път Plasma-desktop. Появява се искане за парола, въведете паролата за акаунта и ... прозорецът се затваря. Всичко е наред първия път. Опитваме отново - и виждаме познатата лента на задачите на KDE Plasma. Ние персонализираме външния вид на лентата на задачите, в примера за по-лесно използване панелът се премества в дясната страна на екрана и се центрира. Проверяваме настройките за локализация, ако е необходимо, добавяме руски език:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка

Ако е необходимо, пренасяме преки пътища за инсталирани Linux приложения в лентата на задачите на KDE Plasma.

Ако Ubuntu 20.04 изисква да излезете от потребителския си акаунт, за да приложите промените в настройките, или трябва да рестартирате операционната система, за да направите това, в терминала на Windows въведете командата:

wsl -d Ubuntu20.04 --shutdown


С пряк път Plasma-desktop или Konsole можете да стартирате KDE Plasma Ubuntu 20.04 GUI. Например, инсталирайте с Konsole Графичен редактор GIMP:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
След като инсталацията приключи, стартирайте от Konsole Графичен редактор GIMP:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
GIMP работи, което исках да проверя.
И ето как работят различните Linux приложения в KDE Plasma в WSL2:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
персонализираната лента на задачите на KDE Plasma е от дясната страна на екрана. и видеото в прозореца на Firefox се възпроизвежда със звук.

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка

Ако е необходимо, можете да конфигурирате достъпа до Ubuntu20.04 от SSH и RDP, за това трябва да инсталирате съответните услуги с командата:

sudo apt install ssh xrdp -y


забележка: за да разрешите достъп с парола от SSH трябва да редактирате файла /etc/ssh/sshd_config, а именно параметъра PasswordAuthentication no трябва да се настрои на PasswordAuthentication yes, запазете промените и рестартирайте Ubuntu20.04.

Всеки път, когато стартирате Ubuntu20.04, вътрешният ip адрес се променя, преди да настроите отдалечен достъп, трябва да проверите текущия ip адрес с помощта на командата ip a:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Съответно този ip-адрес трябва да бъде въведен в настройките на сесията SSH и RDP преди да започнете.
Ето как изглежда отдалеченият достъп SSH използвайки MobaXterm:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Ето как изглежда отдалеченият достъп RDP:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка

Използване на x сървър vcxsrv вместо x410

Стартиране и настройка vcxsrv, внимателно поставете съответните квадратчета за отметка:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Запазване на конфигурираната конфигурация в директорията wslvcxsrv със стандартно име config.xlaunch.

Редактиране на bat файлове Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat според техните инструкции.

Стартиране на прекия път Plasma-desktopи ето какво получаваме:

Windows 10 + Linux. Настройване на KDE Plasma GUI за Ubuntu 20.04 в WSL2. Разходка
Работният плот на KDE Plasma напълно затваря работния плот на Windows, за да превключвате между windows на linux и windows приложения, използваме добре познатата клавишна комбинация Alt+Tab, което не е много удобно.
Освен това беше разкрита неприятна функция на X сървъра vcxsrv - се срива при стартиране на някои приложения, по-специално същия GIMP или LibreOffice Writer. Може би трябва да изчакаме, докато разработчиците премахнат забелязаните "бъгове", но това не е сигурно ... Така че, за да получите приемливи резултати, е по-добре да използвате X Server Microsoft x410.

Заключение

Все пак трябва да отдадем почит на Microsoft, продуктът WSL2 се оказа доста работещ и по мое неопитно мнение много успешен. И доколкото ми е известно, разработчиците продължават интензивно да го "довършват" и може би - след година-две тази подсистема ще се появи в цялата си функционална пълнота.

Източник: www.habr.com

Добавяне на нов коментар