Несмотря на то что в наши дни многие задачи можно выполнять в браузере, некоторые из них все же требуют установки приложений, недоступных в Chrome OS, поэтому Google позволяет устанавливать приложения Linux на Chromebook. Хотя существуют способы запуска некоторых Linux-приложений на Android-устройствах, все они имеют определенные ограничения и официально не поддерживаются Google. К счастью, Google наконец-то работает над официальным способом запуска Linux-приложений на Android.
Пару недель назад инженеры Google начали работу над новым приложением Terminal для Android. Это приложение Terminal является частью Android Virtualization Framework (AVF) и содержит WebView, который подключается к виртуальной машине Linux на локальном IP-адресе, позволяя вам выполнять команды Linux с Android-хоста. Изначально вам приходилось вручную включать это приложение Terminal с помощью команды оболочки, а затем самостоятельно настраивать виртуальную машину Linux. Однако в последние дни Google начала работу над интеграцией приложения Terminal в Android, а также над превращением его в универсальное приложение для запуска дистрибутива Linux в виртуальной машине.
Недавно в AOSP был представлен набор патчей под тегом «ferrochrome-dev-option», который добавляет новую опцию разработчика под названием Linux terminal в разделе Настройки > Система > Опции разработчика. Согласно предложенному описанию, эта новая опция включает «приложение Linux-терминала, которое работает внутри виртуальной машины». Переключение этой опции включает приложение Terminal, которое поставляется в комплекте с AVF.
В настоящее время приложение «Терминал» для Android по-прежнему требует ручной настройки виртуальной машины Linux путем предоставления образа Debian и создания файла vm_config.json, но Google планирует обновить приложение «Терминал», чтобы оно делало все за вас. В одном из патчей под тегом «ferrochrome-dev-option» Google сообщает, что существующее приложение «LinuxInstaller», которое загружает и настраивает Debian для запуска в ВМ через AVF, будет «вскоре объединено с приложением Terminal». Это предполагает, что приложение Terminal станет универсальным приложением, которое загружает, настраивает, запускает и взаимодействует с экземпляром Debian, запущенным в виртуальной машине.
Google все еще работает над улучшением приложения Terminal, а также AVF перед отправкой этой функции. AVF уже поддерживает графику и некоторые параметры ввода, но готовится добавить поддержку резервного копирования и восстановления моментальных снимков, вложенной виртуализации и устройств с архитектурой x86_64. Компания также готовится добавить несколько страниц настроек в приложение Terminal, которое сейчас является довольно пустым, за исключением меню для копирования IP-адреса и остановки существующего экземпляра виртуальной машины. Страницы настроек позволят вам изменять размер диска, настраивать проброс портов и, возможно, восстанавливать разделы.
Что особенно интересно в патче, добавляющем эти настройки, так это то, что он был протестирован на «tangorpro» и «komodo», кодовых именах Pixel Tablet и Pixel 9 Pro XL соответственно. Это говорит о том, что приложение Terminal не будет ограничено Chromebook.
Если вы задаетесь вопросом, зачем запускать Linux-приложения на Android, то эта функция, скорее всего, не для вас. Google добавила поддержку Linux в Chrome OS, чтобы разработчики на Chromebooks могли запускать Linux-приложения, полезные для разработки. Например, поддержка Linux в Chrome OS позволяет разработчикам запускать на Chromebooks Linux-версию Android Studio, рекомендуемой IDE для разработки приложений для Android. Кроме того, они могут безопасно и надежно запускать инструменты командной строки Linux в контейнере.
Большинство Chromebook оснащены процессорами на базе архитектуры x86, в отличие от большинства Android-устройств на базе архитектуры ARM, поэтому многие Linux-приложения, работающие на большинстве Chromebooks (например, Android Studio), могут не работать на большинстве Android-устройств. Тем не менее, добавление поддержки приложений для Linux значительно повысит полезность Android для разработчиков и сделает его более жизнеспособным в качестве десктопной платформы в будущем, особенно по мере того, как все больше и больше приложений будут добавлять поддержку ARM. Кроме того, это необходимо Google, поскольку Chrome OS становится все более похожей на Android, а значит, перенимает все больше архитектуры и фреймворков Android.