Дополнение A. Начальное представление поддержки GUI теперь доступно для WSL
Содержание
- Дополнение A. Начальное представление поддержки GUI теперь доступно для WSL
- Для чего я могу применять поддержку приложений с графическим интерфейсом?
- Применение IDE вашей мечты для разработки проектов Linux
- Запуск приложений, доступных только в Linux, или варианты использования специфичные Linux, например, тестирование
- Сборка, тестирование и применение приложений Linux, которые пользуются аудио или микрофоном со встроенной поддержкой аудио
- Бонус: Применение доступа к графическому процессору WSL для запуска приложений Linux с 3D ускорением
- Как работает эта функциональная возможность?
- Приступаем к работе с этой функциональностью
- Обратная связь
Перевод статьи Craig Loewen от 21 апреля 2021 The Initial Preview of GUI app support is now available for the Windows Subsystem for Linux.
Год назад, на BUILD 2020 мы представили своей целью привнесение приложений Linux с графическим интерфейсом в свою Windows Subsystem for Linux (WSL) для запуска приложений Linux с графическим интерфейсом (GUI). Мы с гордостью заявляем о самом первом предварительном представлении этой долгожданной функциональной возможности с открытым исходным кодом! Этой функциональности мы присвоили прозвище “WSLg”. Просмотрите ниже наше видео или продолжайте чтение чтобы ознакомиться с тем, для чего вы можете применять эту функциональную возможность, как она работает и как её установить.
WSL позволяет нам запускать среду Linux и до данного временного момента сосредотачивалась на доступности инструментальных утилит и приложений командной строки. Поддержка прикладных приложений с графическим интерфейсом позволит вам теперь также применять и предпочитаемые вами приложения Linux с графическим интерфейсом. WSL применяется в широком диапазоне приложений, рабочих потоков и вариантов применения, а потому, в конечном счёте, вам решать для чего вы желаете пользоваться поддержкой прикладных приложений с графическим интерфейсом. Ниже мы выделили несколько ключевых ситуаций, которые помогут вам полюбить запуск приложений в среде Linux.
Visual Studio Code обладает впечатляющим опытом применения VS Code Remote чтобы создавать для вас способа обладания полноценной средой IDE Linux непосредственно в вашей машине Windows, сохраняя расширения и настройки как в Windows, так и в различных дистро WSL (здесь вы можете просмотреть руководство по началу работы с VS Code). WSLg позволит вам запускать и прочие IDE, такие как gedit, редакторы на основе JetBrains, gvim и тому подобные для эффективного тестирования, сборки и отладки ваших приложений Linux.
Вот некий образец запуска gedit и gvim для редактирования файлов непосредственно в WSL.
Вы можете пользоваться этой функциональностью для запуска любого приложения с графическим интерфейсом, которое только может присутствовать в Linux или запускать свои собственные приложения или тестировать в среде Linux. Это может быть невероятно полезно разработчикам, которые желают проверять свои кросплатформенные прикладные приложения, поскольку их теперь можно запускать напрямую в Windows 10 и затем запросто внутри Linux даже без необходимости смены машины или управления виртуальной машиной.
Давайте рассмотрим пример запуска в WSL TestCafe Studio для выполнения некого веб тестирования из запущенного в Linux браузера Microsoft Edge.
Приложения Linux с графическим интерфейсом в WSL будут также содержать сразу после установки поддержку аудио и микрофона. Наличие такого аспекта позволит вашему прикладному приложению воспроизводить аудио сигналы и применять имеющийся микрофон, что исключительно для сборки, тестирования и применения видео проигрывателей, прикладных приложений телекоммуникации и многого иного.
Вот некий пример использования запущенного в Linux Audacity для записи какого- то аудио и его воспроизведения.
В качестве части данной функциональности мы также включили поддержку для ускорения 3D графики графическим процессором! Благодаря выполненной в Mesa 21.0 работе, любое приложение, которое выполняет сложное 3D построение может применять OpenGL для его ускорения применяя графический процессор в вашей машине Windows 10. Это превратит исполнение некоторых ваших сложных приложений в более плавное, например, исполнение Gazebo, инструмента имитации робототехники. Данная практика в скором времени будет по умолчанию включаться в различные дистрибутивы WSL, однако вы можете получить доступ к ней прямо в соответствии с инструкциями из следующего блога, публикующего как получать правильный графический драйвер и гарантировать совместимость вашего дистрибутива с необходимой версией Mesa.
Ниже вы можете видеть приложение Gazebo, имитирующее робота, исследующего виртуальную пещеру, а также приложение Rviz, визуализирующее изображение с камеры этого робота и выходной сигнал его датчика лазерного поля. Благодаря 3D графике с ускорением графического процессора мы можем запускать данную демонстрацию со скоростью 60 кадров в секунду!
Из приведённых выше демонстраций вы могли заметить, что нам не пришлось запускать вручную какой бы то ни было сервер X. Это обусловлено тем, что данная функциональность, которую мы автоматически запускаем на компанию с дистро системы, содержит Wayland, X сервер, аудио сервер pulse и всё что ещё необходимо для того чтобы заставить прикладные приложения Linux с графическим интерфейсом взаимодействовать с Windows. После того как вы закончите применять приложения GUI и завершите свой дистрибутив WSL, соответствующий дистро системы также автоматически прекратит и этот сеанс.
Как и вся прочая конвейеризация WSL, наше намерение здесь состоит в том, чтобы этот компонент целиком управлялся и был бесшовным для
пользователей. Мы стремимся к тому, чтобы этот системный дистро был как можно более невидим для пользователя и именно поэтому вы не обнаружите
данный системный дистро при запуске wsl -l -v
. И, наконец, мы рады сообщить, что для данного системного
дистро мы применяем дистрибутив CBL-Mariner Microsoft!
CBL-Mariner это внутренний дистрибутив Linux, традиционно применяемый в инфраструктурах облачных решений Microsoft, а также в периферийных
продуктах и службах, а теперь мы расширяем его применение на поддержку приложений с графическим интерфейсом внутри WSL. Вы можете ознакомиться
с приводимой ниже схемой чтобы увидеть общую сводку архитектуры данной функциональности.
Для полного и глубокого представления того как мы сделали возможной данную функциональность, а также глубинных технических подробностей, ознакомьтесь, пожалуйста, с блогом, написанным самим разработчиком, сделавшим возможной данную функциональность.
Мы приступаем к развёртыванию этой функциональной возможности в качестве изначального представления перед тем как мы полностью внедрим её в
практику WSL. Чтобы начать пользоваться поддержкой приложений Linux с графическим интерфейсом, вам необходимо убедиться, что вы применяете
предварительную версию Windows 10 Insiders сборки 21364 или выше. Если у вас уже установлена WSL, всё что вам требуется, так это запустить
wsl --update
и вы настроитесь на применение прикладных приложений с графическим интерфейсом. Если у вас
нет включённой WSL, исполните wsl --install
, что автоматически установит WSLg как часть первоначальной
настройки WSL.
Вы можете найти полные инструкции по установке в README соответствующего репозитория GitHub. Мы также настоятельно рекомендуем чтобы вы обладали включённой в WSL поддержкой вычислений графического процессора для наилучшей производительности, обратитесь, пожалуйста, к этому разделу инструкций по установке чтобы ознакомиться с тем, как гарантировать включение такой функциональности.
Обращайтесь, пожалуйста, с любыми техническими проблемами или запросами на функциональность для поддержки приложений с графическим интерфейсом в наш репозиторий GitHub WSLg. В случае общих проблем WSL, оставляйте их, пожалуйста, в репозитории WSL. Вы также можете связываться со мной в Twitter @craigaloewen и со всеми участниками команды WSL, которые находятся в Twitter по данному списку. Следите за обновлениями данного блога чтобы увидеть более интересные обновления WSL и нам не терпится узнать что вы думаете об этой новой функциональности.