Разделы

Техника

Windows 10 научилась запускать «навороченные» Linux-программы с графикой

Тестировщики-добровольцы впервые получили доступ к сборке Windows 10, в которой реализован запуск приложений для Linux с графическим интерфейсом. Заявлены поддержка звука «из коробки», GPU-ускорения и «бесшовная» интеграция в Windows-окружение.

Linux-приложения в Windows

Microsoft начала тестирование новой функции операционной системы Windows 10, которая позволяет запускать приложения с графическим интерфейсом (GUI). Об этом сообщается в официальном блоге разработчиков Windows 10.

С появлением данной функции в Windows 10 пользователь получает возможность запускать практически любые Linux-программы, в том числе и «тяжелые» – к примеру, мощный симулятор роботов Gazebo. Как отмечает Microsoft, это, в первую очередь, будет полезно разработчикам кроссплатформенного ПО – сборка и тестирования программ станут для них гораздо проще.

Ранее для запуска GUI-приложений для Linux в Windows 10 было необходимо либо развертывать отдельную виртуальную машину, либо устанавливать специальный X-сервер для Windows 10 и настраивать его взаимодействие с подсистемой WSL.

Приложения для Windows и Linux вперемежку

Разработчики из Microsoft ставят своей целью сделать так, чтобы Linux-приложения «бесшовно» вписывались в окружение Windows. В частности, как утверждается в блоге, окна таких программ корректно отображаются в карусели, которая вызывается по нажатию клавиш Alt+Tab, а также на панели задач и могут сворачиваться в нее. Установленные Linux-приложения наравне с Windows-программами попадают в меню «Пуск». Обмен информацией через буфер обмена работает для программ под Linux и Windows одинаково и в обе стороны.

Стоит отметить, что, судя по опубликованным скриншотам, единообразия в стиле оформления окон разработчикам пока достичь не удалось – Linux-приложение легко отличить по стилю заголовка окна и кнопок управления его состоянием.

Заявлены поддержка воспроизведения звука и записи с микрофона «из коробки» в Linux-приложения. Кроме того, поддерживается аппаратное ускорение с помощью GPU, которое позволяет системе отрисовывать элементы интерфейса плавно и быстро, не нагружая центральный процессор.

Как это работает

Выполнение Linux-приложений c GUI обеспечивает компонент Windows 10, который разработчики называют WSLg – часть подсистемы Windows для Linux (Windows Subsystem for Linux, WSL).

Подсистема впервые появилась в Windows 10 в 2016 г., но позволяла запускать исключительно инструменты, взаимодействие с которыми осуществляется через консоль.

О разработке второй версии WSL Microsoft сообщила в мае 2019 г. Новое поколение подсистемы, в которую было включено уже полноценное ядро Linux, стало важной частью релиза Windows 10 2004, который состоялся в конце мая 2020 г. Тогда же Microsoft анонсировала будущую поддержку запуска Linux-приложений с графическим интерфейсом.

Архитектура WSLg

При запуске WSL автоматически стартует виртуальная машина, в которой развернуты дистрибутив по выбору пользователя и специально подготовленное Microsoft ядро Linux. Когда в дело вступает WSLg на арене появляется еще один дистрибутив – системный.

Техподдержка «Базальт СПО» — гарантия надежной работы вашей ИТ-инфраструктуры
Маркет

Системный дистрибутив основан на CBL-Mariner Linux, внутренней разработке Microsoft, которая также обеспечивает работу облачных сервисов Azure. Это минимальная среда Linux, упакованная в контейнер и достаточная для запуска различных компонентов WSLg, таких как Pulse Audio-, Wayland-, X- и RDP-серверы. Эти компоненты могут взаимодействовать с клиентской частью (GUI-приложение в пользовательском дистрибутиве) через специальные каналы обмена данными (сокеты).

При запуске GUI-приложения Linux автоматически стартует встроенный в Windows 10 RDP-клиент mstsc.exe, который предназначен для подключения к удаленным рабочим столам, и устанавливает соединение с модифицированным RDP-бэкендом композитного менеджера Weston. Через RDP-клиент пользователю и видны запущенные в виртуальной машине GUI-приложения.

Кому доступно и как установить

Первыми оценить новую функцию смогут участники программы предварительного тестирования Windows Insiders. Для этого понадобится загрузить сборку Windows Insider build 21364 и установить WSL c помощью единственной консольной команды: “wsl --install -d Ubuntu”. В данном примере в качестве пользовательского дистрибутива будет установлен Ubuntu. После завершения первого этапа установки WSL потребуется перезагрузка Windows, по завершении которой будет предложено задать имя пользователя и пароль в Linux.

После этого в консоли WSL можно использовать подходящий пакетный менеджер для установки приложений. К, примеру, чтобы инсталлировать популярный медиаплеер Vlc, в Ubuntu понадобится следующая команда: “sudo apt install vlc”. Запуск программы осуществляется простым вводом названия ее исполняемого файла, в данном случае “vlc”.

Если планируется использовать GPU-ускорение, также понадобится драйвер видеокарты. Специальные сборки драйверов, обеспечивающие поддержку DirectX 12 в WSL-окружении, подготовлены AMD, Nvidia и Intel и доступны для загрузки на официальных сайтах этих компаний.

Дмитрий Степанов