Windows 11 расширила подсистему Windows для Linux (WSL2) с полной поддержкой графического интерфейса и X windows. Присоединяйтесь к этому вебинару, чтобы лучше понять WSL2, как он работает, правильную настройку, параметры конфигурации и научиться использовать его при разработке приложений. Тестируйте свои приложения Linux на рабочем столе Windows без необходимости использования второго компьютера или виртуальной машины. Научитесь использовать дополнительные функции и API Linux из ваших приложений.
Table of Contents
Подсистема 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)
- Другие готовые дистрибутивы на основе WSLDL
- Коллекция утилит WSL
- Диспетчер экземпляров WSL2 с графическим интерфейсом
- Потрясающий список для WSL
Ресурсы FMXLinux
- DocWiki: Разработка приложений для Linux
- DocWiki: Установка Помощника по платформе в Linux
- DocWiki: FireMonkey для Linux
- Скрипт для автоматизации установки в Ubuntu
- Скрипт для автоматизации настройки на Redhat
Настройка 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