Компания Google официально объявила о разработке возможности по запуску Linux-приложений в окружении операционной системы Chrome OS. Основной целью проекта является предоставление возможности использования Chrome OS в качестве платформы для разработки приложений, на которой разработчик имеет возможность выполнить любые инструменты (например, можно выполнить среду разработки Android Studio), воспользоваться любыми языками программирования, запустить привычный редактор кода и протестировать свои приложения.

 


Разработка ведётся в рамках проекта Crostini и реализована через запуск виртуальных машин с Linux. Поддерживается запуск как консольных, так и графических приложений. Установленные Linux-приложения могут запускаться через клик на пиктограмме в Launcher, а окна могут свободно перемещаться по экрану. Для Linux-приложений организован доступ к основной файловой системе, что позволяет открывать пользовательские файлы, используемые в Chrome OS. Внешний вид графических Linux-приложений стилизован под концепцию Material Design при помощи темы оформления Adapta.

Предлагаемое в настоящее время базовое окружение виртуальной машины основано на пакетной базе Debian, но в будущем планируется дополнительно предоставить окружения на основе иных дистрибутивов Linux. После активации Crostini в списке приложений появляется пиктограмма 'Terminal', первый запуск которой приводит к установке и настройке базового образа виртуальной машины, а последующие запуски позволяют получить доступ к классическому Linux-терминалу с окружением Debian GNU/Linux.

В настоящее время функциональность можно протестировать в экспериментальных сборках Chrome OS Canary (требует перевода устройства в режим разработчика), ограниченная поддержка Crostini также доступна в стабильной версии Chrome OS 66 через активацию флага "chrome://flags#enable-experimental-crostini-ui". Виртуальное окружение пока можно использовать только на устройствах Pixelbook. Стабилизация Crostini и перевод функции запуска Linux в разряд штатных возможностей ожидается в одном из будущих выпусков.

Вначале поддержка Linux будет предоставлена только для Pixelbook, но затем постепенно адаптирована и для других моделей Chromebook, обладающих необходимыми ресурсами. В течение года также планируется добавить поддержку для Linux-приложений аппаратного ускорения GPU, что позволит использовать Chrome OS для запуска игры, системы моделирования и программы обработки графики.

Для запуска виртуальной машины задействованы наработки проекта CrosVM, основанного на использовании гипервизора KVM. Внутри базовой виртуальной машины запускаются отдельные контейнеры с приложениями, которые будут распространяться в виде пакетов. Образы контейнеров с Linux-приложениями можно устанавливать как обычные приложения для Chrome OS и использовать между разными пользователями, по аналогии с тем как сейчас можно установить Android-приложения в Chrome OS. Приложения также можно устанавливать из репозитория Debian в базовом окружении виртуальной машины при помощи пакетного менеджера apt.

В виртуальной машине можно вручную создавать дополнительные контейнеры (используется LXC) и запускать такие приложения как Steam, IntelliJ IDEA и Firefox. В контейнере также можно установить любой дистрибутив Linux. Для запуска графических приложений CrosVM предоставляет встроенную поддержку Wayland-клиентов (virtio-wayland) с выполнением композитного сервера на стороне основного хоста и возможностью эффективного использования GPU из гостевых систем.