Компонент WSL (Windows Subsystem for Linux или Подсистема Windows для Linux) появился в Windows 10 и с тех пор постоянно развивается. Одна из новых возможностей, которую кто-то из пользователей мог пропустить — возможность простого и удобного запуска программ Linux с GUI прямо в ОС Windows.
В этом материале — пример быстрой установки всего необходимого и запуска приложений с графическим интерфейсом в Windows 11 и 10 и дополнительная информация, которая может оказаться полезной.
Установка WSL, дистрибутива Linux и приложений
Установить WSL и нужный дистрибутив можно разными способами:
- Включив необходимые компоненты в дополнительных компонентах Windows и загрузив дистрибутив в Microsoft Store (подробнее).
- Почти автоматически в командной строке.
Далее будет рассмотрен второй вариант, как более быстрый в контексте рассматриваемой темы.
Для установки WSL и конкретного дистрибутива Linux достаточно выполнить следующие шаги:
- Запустите командную строку от имени администратора, введите команду
wsl --install
и нажмите Enter, дождитесь завершения выполнения команды.
- Перезагрузите компьютер и снова зайдите в командную строку. Если на первом шаге была также произведена установка Ubuntu (в некоторых версиях Windows устанавливается автоматически), завершите установку с помощью
wsl --install Ubuntu
В процессе потребуется задать имя пользователя и пароль.
- Если требуется другой дистрибутив или автоматическая установка не выполнялась, по порядку введите команды (первая покажет список доступных дистрибутивов, во второй укажите имя дистрибутива из левого столбца):
wsl --list --online wsl --install NAME
Готово, дистрибутив установлен, а поддержка графического интерфейса приложений в WSL текущих версий включается автоматически (ранее этого можно было добиться лишь обходными путями, по умолчанию приложения работали только в режиме терминала), переходим к установке приложений:
- Введите команду
sudo apt-get update
также можно использовать apt вместо apt-get. Дождитесь обновления репозиториев.
- Для установки приложения по его имени введите команду
sudo apt-get install ИМЯ_ПРИЛОЖЕНИЯ -y
- Приложение будет установлено и появится в меню «Пуск» Windows (в папке соответствующего дистрибутива), откуда его можно будет запустить:
- Тем же способом можно установить и другие необходимые приложения, а для их удаления используйте команду
sudo apt-get remove ИМЯ_ПРИЛОЖЕНИЯ
Результат: приложения Linux с графическим интерфейсом исправно работают прямо в Windows:
Делают это со звуком, ускорением графики OpenGl, пробросом локальных дисков.
При желании вы даже можете установить менеджер пакетов с графическим интерфейсом (своего рода «магазин приложений»). Например, мне удалось добиться вполне исправной работы Gnome Software:
- Устанавливаем с помощью команды в WSL
sudo apt install gnome-software -y
- Изменяем свойства ярлыка, добавленного в меню «Пуск» (правый клик по ярлыку в меню Пуск — перейти к расположению файла — открыть свойства ярлыка), заменив поле объект на (пример для Ubuntu)
"C:\Program Files\WSL\wslg.exe" -d Ubuntu -u root sudo gnome-software
Подобным же способом можно «заставить» запускаться от имени суперпользователя с ярлыков Windows и другие программы.
- Пользуемся для установки, обновления и удаления приложений Linux прямо в Windows, в графическом интерфейсе:
Подробная техническая информация о том, как именно работают Linux-приложения с GUI доступна на GitHub проекта WSLg, с помощью которого реализована соответствующая функциональность.
Время на прочтение9 мин
Количество просмотров99K
Введение
Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО.
Следует отметить, что существует определенная проблема, связанная с невозможностью интеграции ПО, полученного в on-line магазине Microsoft Store для использования в пользовательском образе Windows 10. Не вдаваясь в подробности уточню, что данная проблема связана с тем, что установленные из Microsoft Store программы связываются со служебной учетной записью Administrator, и при завершении создания пользовательского образа утилитой sysprep
возникают обусловленные этим обстоятельством ошибки.
Рассмотренный в данной статье способ позволить избежать такой проблемы при подготовке образа ОС Windows 10 с предварительно настроенной подсистемой WSL2, а также с заранее подготовленным и настроенным образом ОС Ubuntu 20.04 с GUI KDE Plasma, который в свою очередь может иметь свой набор пользовательского ПО.
В сети Интернет имеется большое количество примеров и руководств по настройке подсистем WSL (т.е. WSL1 и сравнительно новой WSL2), с настройкой GUI интерфейса для linux систем на базе ОС начиная с версии Ubuntu 16.04 и заканчивая Ubuntu 20.04, но в основном это касалось рабочих столов на основе т.н. «легковесного» xfce4, имеющий вполне объяснимые ограничения в пользовательских настройках. Но что касается GUI KDE Plasma для Ubuntu 20.04, в сети не нашлось какой-либо существенной информации. Но именно этот вариант предоставляет конечному пользователю практически неограниченный набор настроек как внешнего вида системы, так и настроек оборудования, конечно с учетом текущих возможностей интеграции linux-систем, реализованных в подсистеме WSL2.
Установка требуемого набора ПО и настройка WSL2
Проверяем текущую версию Windows, для этого в строке поиска Windows вводим команду winver
и получаем примерно следующее:
Важно, чтобы ОС имела версию 1903 или 1909 (указанные версии ОС должны быть с установленным накопительным обновлением KB4566116), либо 2004 (номер сборки не менее чем 19041), остальная информация не имеет значения. Если номер версии меньше, то для корректного повторения результатов, изложенных в данной статье, рекомендуется обновиться до последней версии Windows.
Для удобства дальнейших действий устанавливаем бесплатный Windows Terminal, используя Microsoft Store (также существует возможность загрузки из других источников):
Устанавливаем X Server X410 через тот же Microsoft Store, это ПО платное, но имеется бесплатный период в 15 дней, что вполне достаточно для проведения различных тестов.
В качестве бесплатной альтернативы X410 скачиваем и устанавливаем X-сервер VcXsrv.
В любом удобном месте на диске создаем каталог, в котором будем хранить наши файлы. В качестве примера создадим каталог C:\wsl
.
Скачиваем и устанавливаем автономный установщик Ubuntu 20.04, распаковываем полученный файл с помощью архиватора (например 7-zip). Переименовываем распакованный каталог с длинным именем Ubuntu_2004.2020.424.0_x64
во что-то более приемлемое, например Ubuntu-20.04
и копируем его в каталог C:\wsl
(далее по тексту просто \wsl
).
Скачиваем и распаковываем в каталог \wsl
кроссплатформенный звуковой сервер PulseAudio v.1.1., также вносим исправления в его конфигурационные файлы.
В файле \wsl\pulseaudio-1.1\etc\pulse\default.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
В файле \wsl\pulseaudio-1.1\etc\pulse\daemon.conf
раскомментируем и изменяем строку
exit-idle-time = -1
Настраиваем подсистему WSL2 в соответствии с документацией Microsoft. Единственное замечание — дистрибутив Ubuntu мы уже скачали, и устанавливать его будем на следующем шаге. В основном, настройка сводится к включению дополнительных компонентов «Подсистема Windows для Linux» и «Платформа виртуальной машины», и последующей перезагрузки для применения изменений в настройках компьютера:
При необходимости скачиваем и устанавливаем пакет обновлений для ядра Linux в WSL2.
Запускаем Windows Terminal и выбираем режим работы Command Prompt нажатием клавиш Ctrl+Shift+2
.
В первую очередь устанавливаем режим работы WSL2, для этого вводим команду:
wsl --set-default-version 2
Переходим в каталог с автономным загрузчиком Ubuntu 20.04, в моем случае это \wsl\Ubuntu-20.04
и запускаем файл ubuntu2004.exe
. При появлении запроса имени пользователя указываю имя engineer
(можно ввести любое другое имя), ввести свой пароль и подтвердить введенный пароль для указанной учетной записи:
Появилась строка приглашения терминала, ядро Ubuntu 20.04 установлено. Проверим правильность настройки режима WSL2, для этого в Windows Terminal выбираем закладку Windows PowerShell и вводим команду:
wsl -l -v
результат выполнения должен быть такой:
Настраиваем брандмауэр Microsoft Defender, т.е. отключаем его для общедоступной сети:
Настройка Ubuntu 20.04
В Windows Terminal снова выбираем закладку Command Prompt и устанавливаем обновления для Ubuntu 20.04. Для этого в командной строке вводим:
sudo apt update && sudo apt upgrade –y
Устанавливаем рабочий стол KDE Plasma:
sudo apt install kubuntu-desktop -y
установка занимает до 30 минут в зависимости от производительности компьютера и пропускной способности канала доступа в Internet, при появлении запроса установщика подтверждаем 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 Terminal снова выбираем закладку Windows PowerShell и вводим команду:
wsl --export Ubuntu-20.04 c:\wsl\Ubuntu-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:\wsl\Ubuntu-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:\wsl\Ubuntu-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:\wsl\Ubuntu-20.04\ubuntu2004.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:\wsl\vcxsrv\config.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:\wsl\pulseaudio-1.1\bin\pulseaudio.exe" --use-pid-file=false -D > nul
c:\wsl\Ubuntu-20.04\Ubuntu2004.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:\wsl\vcxsrv\config.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:\wsl\pulseaudio-1.1\bin\pulseaudio.exe" --use-pid-file=false -D > nul
c:\wsl\Ubuntu-20.04\Ubuntu2004.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
Проверяем, что все подготовительные действия выполнены, пробуем запустить ярлык Plasma-desktop
. Появляется запрос пароля, вводим пароль для учетной записи и… окно закрывается. В первый раз это нормально. Пробуем еще раз — и видим знакомую панель задач KDE Plasma. Настраиваем требуем внешний вид панели задач, на примере для удобства использования панель переносится в правую часть экрана и центрируется. Проверяем настройки локализации, при необходимости добавляем русский язык:
При необходимости выносим ярлыки для установленных linux-приложений на панель задач KDE Plasma.
Если Ubuntu 20.04 требует выйти из учетной записи пользователя для применения изменений в настройках, или Вам необходимо перезагрузить ОС, для этого в Windows Terminal введите команду:
wsl -d Ubuntu20.04 --shutdown
С помощью ярлыка Plasma-desktop
или Konsole
можно запустить GUI 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.
При каждом запуске Ubuntu20.04 меняется внутренний ip-адрес, перед настройкой удаленного доступа необходимо уточнить текущий ip-адрес с помощью команды ip a
:
Соответственно, этот ip-адрес необходимо внести в настройки сессий SSH
и RDP
перед запуском.
Вот так выглядит удаленный доступ по SSH
с помощью MobaXterm:
А вот так выглядит удаленный доступ по RDP
:
Использование X-сервера vcxsrv вместо x410
Запускаем и настраиваем vcxsrv
, внимательно устанавливаем соответствующие флажки:
Сохраняем настроенную конфигурацию в каталоге \wsl\vcxsrv
со стандартным именем 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 получился вполне рабочим, и на мой неискушенный взгляд — весьма удачным. И насколько мне известно, разработчики продолжают усиленно его «допиливать», и возможно — через годик-другой, данная подсистема предстанет во всей своей функциональной полноте.
В Windows
- Ставим VcXsrv Windows X Server.
- Запускаем вручную или создаем конфиг для запуска — файл config.xlaunch:
<?xml version="1.0" encoding="UTF-8"?>
<XLaunch
WindowMode="Nodecoration"
ClientMode="NoClient"
LocalClient="False"
Display="0"
LocalProgram="xcalc"
RemoteProgram="xterm"
RemotePassword=""
PrivateKey=""
RemoteHost=""
RemoteUser=""
XDMCPHost=""
XDMCPBroadcast="False"
XDMCPIndirect="False"
Clipboard="True"
ClipboardPrimary="True"
ExtraParams=""
Wgl="True"
DisableAC="False"
XDMCPTerminate="False"
> />
В WSL (Ubuntu)
sudo apt update && sudo apt dist-upgrade
Для Xfce4 (минимум):sudo apt install -y xfce4-session xfce4-notifyd xfce4-appfinder xfce4-panel
sudo apt install -y xfce4-quicklauncher-plugin xfce4-whiskermenu-plugin
sudo apt install -y xfce4-xkb-plugin xfce4-settings xfce4-terminal xfce4-taskmanager
sudo apt install -y mousepad
Для GNOME:sudo apt install -y ubuntu-desktop
Затемsudo service dbus start
sudo service x11-common start
Локализацияsudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
sudo update-locale
Создаем start-desktop.sh
Для Xfce4:DISPLAY=:0 LANG=ru_RU.UTF-8 su alex -c xfce4-session
Для GNOME:gnome-shell --x11 -r
Делаем исполняемымchmod u+x start-desktop.sh
Последовательность:
- Запускаем config.xlaunch
- Выполняем в Linux ./start-desktop.sh
Компонент WSL (Windows Subsystem for Linux или Подсистема Windows для Linux) появился в Windows 10 и активно развивается. Одной из новых возможностей является запуск приложений Linux с графическим интерфейсом (GUI) прямо в Windows. Рассмотрим пошаговую инструкцию по установке и использованию WSL для запуска графических приложений Linux в Windows 10 и 11.
Приобрести оригинальные ключи активации Windows 11 можно у нас в каталоге от 1690 ₽
Установка WSL, дистрибутива Linux и приложений
Для установки WSL и дистрибутива Linux можно воспользоваться двумя способами:
— Через дополнительные компоненты Windows и загрузку дистрибутива из Microsoft Store.
— Почти автоматически через командную строку.
Мы рассмотрим второй способ как более быстрый.
Шаг 1: Установка WSL
1) Запустите Командную строку от имени администратора.
2) Введите команду:
wsl --install
Дождитесь завершения выполнения команды.
3) Перезагрузите компьютер.
Если на первом этапе была установлена Ubuntu, завершите её настройку, введя команду:
wsl --install Ubuntu
В процессе потребуется задать имя пользователя и пароль.
Шаг 2: Установка другого дистрибутива
1) Чтобы посмотреть список доступных дистрибутивов, выполните команду:
wsl --list --online
2) Установите выбранный дистрибутив, введя его имя из списка:
wsl --install ИМЯ_ДИСТРИБУТИВА
Шаг 3: Установка приложений
1) После установки дистрибутива обновите репозитории командой:
sudo apt-get update
2) Установите нужное приложение, указав его имя:
sudo apt-get install ИМЯ_ПРИЛОЖЕНИЯ -y
Запуск приложений Linux с графическим интерфейсом
Установленные приложения появятся в меню «Пуск» в папке дистрибутива Linux. Оттуда их можно запускать, как обычные приложения Windows. Приложения работают с поддержкой:
— Звука.
— Ускорения графики OpenGL.
— Проброса локальных дисков.
Установка графического менеджера пакетов
Вы можете установить графический интерфейс для управления пакетами, например, Gnome Software.
1) Установите Gnome Software командой:
sudo apt install gnome-software -y
2) Настройте запуск ярлыка от имени суперпользователя (root). Для этого:
— Перейдите к ярлыку приложения в меню «Пуск».
— Щёлкните правой кнопкой мыши, выберите «Перейти к расположению файла».
— В свойствах ярлыка измените поле Объект на:
"C:\Program Files\WSL\wslg.exe" -d Ubuntu -u root sudo gnome-software
Теперь вы можете использовать Gnome Software для установки, обновления и удаления приложений Linux прямо в Windows.
Подробности о работе WSLg
Функциональность графического интерфейса приложений Linux реализована с помощью проекта WSLg. Более детальная техническая информация доступна на GitHub проекта WSLg.
Используя WSL, вы можете легко интегрировать приложения Linux в среду Windows и воспользоваться их графическим интерфейсом.
Лицензионный ключ активации Windows от
Windows 11 расширила подсистему Windows для Linux (WSL2) с полной поддержкой графического интерфейса и X windows. Присоединяйтесь к этому вебинару, чтобы лучше понять WSL2, как он работает, правильную настройку, параметры конфигурации и научиться использовать его при разработке приложений. Тестируйте свои приложения Linux на рабочем столе Windows без необходимости использования второго компьютера или виртуальной машины. Научитесь использовать дополнительные функции и API Linux из ваших приложений.
Подсистема Windows для Linux
- Представлено в Windows 10
- Интересный факт: заменяет службы Windows для Unix с 2004 года.
- Также доступно в Windows 11 и Windows Server 2019.
- Разработано в сотрудничестве с Canonical и другими
- WSL2 улучшил производительность с настоящим ядром Linux
- Использует подмножество функций Hyper-V
- Не такая изолированная или с такими накладными расходами, как виртуальная машина
- Производительность конкурирует с родным Linux
- WSLg добавляет поддержку графического интерфейса ○ Поставляется в Windows 11 или Windows 10 Insider 21364
Microsoft и Linux (обращение к слону в комнате…)
Преимущества и варианты использования
- Возможность запуска немодифицированных двоичных файлов ELF64 Linux, расширение набора инструментов и возможностей
- Гибкость сочетания цепочки инструментов Windows и Linux на одном компьютере
- Меньше накладных расходов, чем у традиционной виртуальной машины, означает лучшую производительность
- Локальная среда сборки с контейнерами и т. д.
- Тестирование серверных приложений из Windows без дополнительной инфраструктуры
- Не нужно возиться с двойной загрузкой или установкой сторонних виртуальных машин.
- Запуск бинарных файлов Linux из Windows и исполняемых файлов Windows из Linux
- Работает так, как вам нужно, меньше управления
- Память и место на диске динамически распределяются
Руководство по установке WSL
- Включить дополнительную функцию «Подсистема Windows для Linux» (через Admin PowerShell или функции Windows)
- Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- Установите предпочтительный дистрибутив Linux
- Магазин Windows или вручную через скрипт
- Запустите дистрибутив Linux, чтобы инициализировать его, ввести пароль и т. д.
- Вы также можете создать собственный дистрибутив
- Запуск WSL 4 способами
- Значок в меню «Пуск»
- [дистрибутив], например Ubuntu
- wsl.exe или bash.exe
- wsl [команда] или bash -c [команда]
- https://docs.microsoft.com/en-us/windows/wsl/install
Доступные дистрибутивы
- Ubuntu, Kali и Pengwin находятся в
- Семейство Debian (с использованием .deb pkgs — apt)
- Kali ориентирован на безопасность
- Pengwin разработан на основе WSL
- SUSE и Fedora входят в семейство RPM вместе с Red Hat
- Alpine — это независимый, легкий, ориентированный на безопасность дистрибутив Linux.
- Некоторые дистрибутивы включают несколько версий
Управление дистрибутивами WSL
- Список дистрибутивов
- wsl –list –all или wsl –list –running
- Установить дистрибутив по умолчанию
- wsl –setdefault <DistributionName> или wsl -s <DistributionName>
- Запустите определенный дистрибутив
- wsl –distribution <имя дистрибутива>
- Запуск от имени указанного пользователя
- wsl –user <имя пользователя> (или используйте конкретное имя дистрибутива)
- Отмена регистрации и удаление дистрибутива
- wsl –отменить регистрацию <DistributionName>
- Завершите работу всех экземпляров WSL
- wsl – завершение работы
Первый забег
- При первом запуске обычно запрашивается имя пользователя и пароль.
- openSUSE использует YaST2 для приятного графического интерфейса ASCII.
Подключение из IDE
- Инструменты -> Параметры -> Развертывание -> Диспетчер профилей подключения
- IP-адрес и порты используются совместно с хостом
- Итак, вы подключаетесь к 127.0.0.1
- Можно использовать каждый номер порта только один раз (даже если у вас установлено несколько дистрибутивов)
- Поэтому используйте разные номера портов для нескольких экземпляров, если вы хотите запускать их одновременно.
Сброс пароля пользователя Linux
- Обратите внимание на свое имя пользователя
- Из терминала Windows получите имя дистрибутива
- wsl -l
- В терминале Windows переключите пользователя по умолчанию на root
- Конфигурация ubuntu – root-пользователь по умолчанию
- Запустите дистрибутив WSL (вы войдете в систему как root)
- убунту
- Изменить пароль пользователя
- пароль пользователя
- Изменить пользователя по умолчанию обратно
- ubuntu config – имя пользователя по умолчанию
- Запустите дистрибутив WSL снова
Доступ к файлам между системами
- Доступ к Windows из Linux
- компакт-диск / мнт / с /
- Открыть WSL в текущем каталоге Windows
- wsl
- wsl -d убунту
- убунту
- Доступ к Linux из Windows
- wsl.localhost
- Открыть текущий путь Linux из Windows
- проводник.exe.
- cmd.exe
- powershell.exe
Подсистема Windows для ресурсов Linux
- Блог командной строки (включая WSL) http://aka.ms/cliblog
- Изучите WSL http://aka.ms/learnwsl
- Документы WSL http://aka.ms/wsldocs
- Подключите USB к WSL https://aka.ms/wsl-usbip
- WSL: запуск приложений Linux с графическим интерфейсом youtu.be/kC3eWRPzeWw
- Глубокое погружение в WSL2 youtu.be/lwhMThePdIo
- Обновления Windows Dev Tool: WSL, терминал, диспетчер пакетов и многое другое youtu.be/m5tt9mDRPSw
Дополнительные ресурсы WSL
- Advanced WSL Launcher / Installer (упрощение создания собственного дистрибутива WSL)
- https://github.com/yuk7/wsldl
- Другие готовые дистрибутивы на основе WSLDL
- https://wsldl-pg.github.io/docs/Использование-wsldl/#distros
- Коллекция утилит WSL
- https://github.com/wslutilities/wslu
- Диспетчер экземпляров WSL2 с графическим интерфейсом
- https://github.com/bostrot/wsl2-дистрибутив-менеджер
- Потрясающий список для WSL
- https://github.com/sirredbeard/Awesome-WSL
Ресурсы FMXLinux
- DocWiki: Разработка приложений для Linux
- docwiki.embarcadero.com/RADStudio/en/Linux_Application_Development
- DocWiki: Установка Помощника по платформе в Linux
- docwiki.embarcadero.com/RADStudio/en/Installing_the_Platform_Assistant_on_Linux
- DocWiki: FireMonkey для Linux
- docwiki.embarcadero.com/RADStudio/en/FireMonkey_for_Linux
- Скрипт для автоматизации установки в Ubuntu
- embt.co/Ubuntu4Delphi22
- Скрипт для автоматизации настройки на Redhat
- embt.co/RedHat4Delphi22
Настройка CentOS (на базе Redhat)
- Установите Docker в Ubuntu docs.docker.com/engine/install/ubuntu/
- Выполните шаги docs.microsoft.com/en-us/windows/wsl/use-custom-distro.
- Сделать папку в Windows C:WSLCentOS
- Из Убунту
- запуск докера службы sudo
- sudo docker run -t dokken/centos-stream-9 bash ls /
- dockerContainerID=$(sudo docker container ls -a | grep -i dokken/centos-stream-9 | awk ‘{print $1}’)
- sudo docker export $dockerContainerID > /mnt/c/WSL/CentOS/centos.tar
- sudo docker rm $dockerContainerID
- Из PowerShell
- компакт-диск C:WSLCentOS
- wsl – импортировать CentOS C:WSLCentOS .centos.tar
- Из CentOS
- yum update -y && yum установить пароль sudo -y
- мое имя пользователя = Джим
- adduser -G колесо $myUsername
- echo -e «[user]ndefault=$myUsername» >> /etc/wsl.conf
- пароль $myUsername
- Из PowerShell
- wsl – завершить работу CentOS
- https://embt.co/RedHat4Delphi22