
въведение
Тази статия е предназначена за вниманието на системните администратори, които подготвят стандартни работни станции на компютри с операционни системи... Windows 10, включително за разработчици на софтуер.
Трябва да се отбележи, че има специфичен проблем, свързан с невъзможността за интегриране на софтуер, получен от Microsoft Store, за използване в персонализирано изображение. Windows 10Без да навлизам в подробности, ще поясня, че този проблем е свързан с факта, че програмите, инсталирани от Microsoft Store, са свързани с акаунта на администраторската услуга и когато помощната програма завърши създаването на персонализирано изображение sysprep възникват грешки поради това обстоятелство.
Методът, обсъден в тази статия, ви позволява да избегнете този проблем при подготовката на образ на операционната система. Windows 10 с предварително конфигурирана WSL2 подсистема, както и предварително подготвен и конфигуриран образ на операционната система Ubuntu 20.04 с графичния потребителски интерфейс на KDE Plasma, който от своя страна може да има собствен набор от потребителски софтуер.
В интернет има голям брой примери и ръководства за настройване на WSL подсистеми (т.е. WSL1 и сравнително новата WSL2), с настройки на графичния потребителски интерфейс за Linux системи, базирани на операционната система, започвайки от версия... Ubuntu 16.04 и завършва Ubuntu 20.04, но това се отнасяше най-вече за настолни компютри, базирани на така наречения „лек“ xfce4, който има разбираеми ограничения в потребителските настройки. Но що се отнася до графичния интерфейс на KDE Plasma за Ubuntu Към 20.04 април онлайн не беше намерена съществена информация. Тази конкретна версия обаче предоставя на крайния потребител практически неограничен набор от опции за персонализиране както на външния вид на системата, така и на хардуерните настройки, като се вземат предвид текущите възможности за системна интеграция на Linux, реализирани в подсистемата WSL2.
Инсталиране на необходимия набор от софтуер и конфигуриране на WSL2
Проверка на текущата версия Windows, за това в лентата за търсене Windows въведете командата winver и получаваме нещо подобно:
Важно е версията на вашата операционна система да е 1903 или 1909 (тези версии на операционните системи трябва да имат инсталирана кумулативна актуализация KB4566116) или 2004 (номер на компилация поне 19041). В противен случай не е важно. Ако номерът на версията е по-нисък, препоръчваме да надстроите до най-новата версия, за да гарантирате правилното възпроизвеждане на резултатите, описани в тази статия. Windows.
За удобство на по-нататъшни действия, инсталираме безплатен такъв Windows Терминал, използвайки Microsoft Store (възможно е да се изтегли и от други източници):
Ние инсталираме X Server X410 през същия Microsoft Store, този софтуер е платен, но има безплатен период от 15 дни, което е достатъчно за различни тестове.
Като безплатна алтернатива на 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 за Linux" и "Платформа за виртуална машина" и след това рестартирайте, за да приложите промените в настройките на компютъра:
Ако е необходимо и инсталирайте пакета за актуализация на ядрото Linux в WSL2.
Стартиране Windows Терминал и изберете режима на работа на командния ред, като натиснете клавишите Ctrl+Shift+2.
На първо място, задаваме режима на работа WSL2, за това въвеждаме командата:
wsl --set-default-version 2
Отидете в директорията със самостоятелния буутлоудър Ubuntu 20.04, в моя случай е wslUbuntu-20.04 и стартирайте файла ubuntu2004.exe. Когато бъдете подканени за потребителско име, въведете го engineer (можете да въведете всяко друго име), въведете вашата парола и потвърдете въведената парола за посочения акаунт:
Появи се терминалният прозорец, ядрото Ubuntu 20.04 е инсталиран. Нека проверим дали WSL2 режимът е конфигуриран правилно. За да направим това, Windows Терминал, изберете отметката Windows PowerShell и въведете командата:
wsl -l -v
резултатът от изпълнението трябва да бъде така:
Ние конфигурираме защитната стена на Microsoft Defender, т.е. деактивирайте го за обществената мрежа:
регулиране Ubuntu 20.04
В Windows В Терминала изберете отново раздела Команден ред и инсталирайте актуализации за 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
Добавете най-новата версия на работния плот на 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, вижте екранна снимка:
Редактиране на 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 изглежда така:
Стартиране на KDE Plasma Desktop
Проверяваме дали всички подготвителни стъпки са изпълнени, опитваме се да стартираме прекия път Plasma-desktop. Появява се искане за парола, въведете паролата за акаунта и ... прозорецът се затваря. Всичко е наред първия път. Опитваме отново - и виждаме познатата лента на задачите на KDE Plasma. Ние персонализираме външния вид на лентата на задачите, в примера за по-лесно използване панелът се премества в дясната страна на екрана и се центрира. Проверяваме настройките за локализация, ако е необходимо, добавяме руски език:
Ако е необходимо, пренасяме преки пътища за инсталирани Linux приложения в лентата на задачите на KDE Plasma.
ако Ubuntu 20.04 изисква да излезете от потребителския си акаунт, за да приложите промените към настройките, или да рестартирате операционната система за това. Windows В Терминала въведете командата:
wsl -d Ubuntu20.04 --shutdown
С пряк път Plasma-desktop или Konsole можете да стартирате графичния потребителски интерфейс на KDE Plasma Ubuntu 20.04. Например, ще инсталираме, използвайки Konsole Графичен редактор GIMP:
След като инсталацията приключи, стартирайте от Konsole Графичен редактор GIMP:
GIMP работи, което исках да проверя.
И ето как работят различните Linux приложения в KDE Plasma в WSL2:
персонализираната лента на задачите на KDE Plasma е от дясната страна на екрана. и видеото в прозореца на Firefox се възпроизвежда със звук.
Ако е необходимо, можете да конфигурирате достъпа до Ubuntu20.04 вечерта. SSH и RDP, за това трябва да инсталирате съответните услуги с командата:
sudo apt install ssh xrdp -y
забележка: за да разрешите достъп с парола от SSH трябва да редактирате файла /etc/ssh/sshd_config, а именно параметъра PasswordAuthentication no трябва да се настрои на PasswordAuthentication yes, запазете промените и рестартирайте Ubuntu20.04.
При всяко стартиране UbuntuНа 20.04 април вътрешният IP адрес се променя. Преди да настроите отдалечен достъп, трябва да проверите текущия IP адрес, като използвате командата ip a:
Съответно този ip-адрес трябва да бъде въведен в настройките на сесията SSH и RDP преди да започнете.
Ето как изглежда отдалеченият достъп SSH използвайки MobaXterm:
Ето как изглежда отдалеченият достъп RDP:
Използване на x сървър vcxsrv вместо x410
Стартиране и настройка vcxsrv, внимателно поставете съответните квадратчета за отметка:




Запазване на конфигурираната конфигурация в директорията wslvcxsrv със стандартно име config.xlaunch.
Редактиране на bat файлове Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat според техните инструкции.
Стартиране на прекия път Plasma-desktopи ето какво получаваме:
Работният плот на KDE Plasma покрива изцяло работния плот WindowsЗа да превключваме между прозорците на Linux и Windows приложения, използваме добре позната комбинация от клавиши. Alt+Tab, което не е много удобно.
Освен това беше разкрита неприятна функция на X сървъра vcxsrv - се срива при стартиране на някои приложения, по-специално същия GIMP или LibreOffice Writer. Може би трябва да изчакаме, докато разработчиците премахнат забелязаните "бъгове", но това не е сигурно ... Така че, за да получите приемливи резултати, е по-добре да използвате X Server Microsoft x410.
Заключение
Все пак трябва да отдадем почит на Microsoft, продуктът WSL2 се оказа доста работещ и по мое неопитно мнение много успешен. И доколкото ми е известно, разработчиците продължават интензивно да го "довършват" и може би - след година-две тази подсистема ще се появи в цялата си функционална пълнота.
Източник: www.habr.com
