Linux на Chromebook: Crostini от включения до Docker
Среда разработки Linux встроена в ChromeOS и включается из настроек за несколько минут. Внутри — контейнер Debian с терминалом, пакетным менеджером и правом ставить что угодно. Разбираем, как это устроено, как включить по шагам, что реально работает — и где проходит честная граница между моделями на x86 и на ARM.
Содержание
Что такое Crostini
Crostini Штатная среда разработки ChromeOS: контейнер Debian внутри виртуальной машины, интегрированный с рабочим столом и файловым менеджером. — официальное название среды разработки Linux в ChromeOS. Это не эмулятор и не «Linux вместо системы»: полноценный контейнер Debian работает внутри виртуальной машины, у которой собственное ядро, а окна его программ появляются на общем рабочем столе рядом с вкладками браузера.
У такой архитектуры есть цена: часть оперативной памяти и накопителя уходит виртуальной машине, доступ к оборудованию ограничен, а производительность графики ниже, чем в обычном настольном Linux. И есть выигрыш: сломать систему из контейнера нельзя, а снести и пересоздать контейнер — дело нескольких минут.
Как включить среду разработки: по шагам
-
Проверьте свободное место
Контейнеру нужен собственный раздел. Для комфортной работы заложите не меньше 20 ГБ свободного места, а если планируете контейнеры и локальные базы — 40 ГБ и больше.
-
Откройте настройки системы
«Настройки» — раздел «Об ОС Chrome» — пункт «Инструменты разработчика». В управляемых устройствах этот пункт может быть скрыт политикой организации: тогда включение делает администратор.
-
Включите среду разработки Linux
Нажмите «Включить» напротив пункта «Среда разработки Linux». Система предупредит, что займёт часть накопителя.
-
Задайте имя пользователя и размер диска
Имя пользователя внутри контейнера не связано с аккаунтом Google. Размер диска потом меняется в настройках в обе стороны, поэтому не занижайте его из осторожности.
-
Дождитесь загрузки образа
Система скачает образ виртуальной машины и развернёт контейнер. На быстром канале это несколько минут; процесс требует интернета и выполняется один раз.
-
Обновите пакеты и поставьте инструменты
В открывшемся терминале выполните обновление списка пакетов и установку обновлений, затем ставьте нужное: компиляторы, интерпретаторы, утилиты. Дальше это обычный Debian.
Выключается среда так же — одной кнопкой, с удалением контейнера. Перед этим стоит сделать резервную копию: в настройках есть штатное резервное копирование контейнера в файл, который можно положить на внешний носитель и развернуть на другом устройстве.
Debian по умолчанию и что это даёт
По умолчанию разворачивается стабильная ветка Debian — консервативный дистрибутив с большим репозиторием и предсказуемым поведением. Внутри работает всё, к чему вы привыкли: пакетный менеджер, системные службы, сборка из исходников, репозитории сторонних поставщиков.
Если стабильная ветка кажется слишком консервативной для инструментов разработки, обычный путь — ставить свежие версии рядом с системными: менеджеры версий для интерпретаторов, официальные репозитории поставщиков, портативные сборки в домашней папке. Менять дистрибутив целиком можно, но это уже не поддерживаемый сценарий: интеграция с рабочим столом и файловым менеджером рассчитана на штатный контейнер.
Редактор кода, Python, Node, контейнеры
Редактор кода. Популярные редакторы поставляются в виде пакетов Debian и ставятся двойным щелчком по файлу прямо из файлового менеджера ChromeOS — система сама предложит установить его в контейнер. После установки редактор появляется в общем списке приложений. Проверяйте разрядность и архитектуру пакета: под ARM нужен пакет для arm64.
Python и Node. Ставятся из репозитория или через менеджеры версий. Виртуальные окружения, менеджеры пакетов, линтеры, тесты — без отличий от обычного Debian. Локальный веб-сервер поднимается как обычно, а открыть его можно прямо в браузере ChromeOS: адрес локальной машины проброшен между контейнером и системой.
Контейнеры. Docker и совместимые инструменты работают внутри Crostini — это контейнеры внутри контейнера внутри виртуальной машины, и такая конструкция накладывает свои ограничения по производительности и сетевым настройкам. Для сборки и локального запуска сервисов этого достаточно; для нагрузочных сценариев — нет. Главное ограничение архитектурное: на ARM-модели вам нужны образы, собранные под arm64, иначе запуск потребует эмуляции и станет неприемлемо медленным.
Базы данных и очереди. Локальные экземпляры разворачиваются штатно. Помните, что контейнер останавливается вместе с закрытием последнего окна Linux и стартует при следующем запуске терминала — фоновые службы «до перезагрузки» здесь не живут.
Оконные приложения
Графические приложения Linux работают: офисный пакет, редакторы изображений и векторной графики, просмотрщики, инструменты для работы с базами, научные среды. Окна интегрированы в общий рабочий стол, приложения появляются в списке программ, файлы открываются двойным щелчком.
Ограничения тоже стоит знать заранее. Ускорение трёхмерной графики ограниченное — тяжёлые графические редакторы и всё, что рассчитано на дискретную видеокарту, работать не будут. Масштабирование интерфейса в приложениях Linux иногда требует ручной настройки на экранах с высокой плотностью пикселей. Звук работает, но профессиональная работа со звуком с низкой задержкой — не сценарий для этой среды.
Файлы, USB и сеть
По умолчанию контейнер не видит ваши файлы — и это правильное поведение. Чтобы открыть доступ, в файловом менеджере ChromeOS нужно вызвать контекстное меню папки и выбрать предоставление доступа Linux. Расшаренные папки появляются внутри контейнера в отдельной точке монтирования. Домашняя папка контейнера, в свою очередь, видна в файловом менеджере системы отдельным разделом.
USB-устройства подключаются к контейнеру явно: в настройках Linux есть список подключённых устройств с переключателями. Так пробрасывают отладочные платы, программаторы, некоторые принтеры и сканеры. Не все классы устройств поддерживаются — устройства с собственными драйверами под другую систему не заработают.
Сеть у контейнера своя, с трансляцией адресов. Исходящие соединения работают прозрачно, а вот сделать сервис внутри контейнера видимым из локальной сети сложнее, чем на обычном Linux, и в ряде конфигураций невозможно без дополнительной настройки.
Честно про ARM и x86
Это самый важный раздел страницы. Crostini работает на обеих архитектурах, но набор доступного программного обеспечения различается — и разница проявляется именно там, где ошибка стоит дороже всего: в инструментах разработчика.
| Что нужно | x86 — Intel и AMD | ARM — MediaTek и Qualcomm |
|---|---|---|
| Пакеты из репозитория Debian | Практически всё | Большая часть, но не всё: смотрите наличие сборки под arm64 |
| Сторонние пакеты от поставщиков | Сборка обычно есть | Сборка под arm64 бывает не у всех |
| Образы контейнеров | Практически любые | Нужен образ с поддержкой arm64; иначе только медленная эмуляция |
| Проприетарные бинарные утилиты | Чаще доступны | Часто недоступны |
| Мобильная разработка с эмулятором устройства | Работает на моделях с достаточной памятью | Ограниченно и медленно |
| Игровая платформа Steam на ChromeOS | Только на отдельных моделях, отвечающих требованиям | Не поддерживается |
| Автономность при той же работе | Ниже | Выше |
Практическое правило: если ваша работа — веб, скрипты, данные, документация и всё, что ставится из репозитория, ARM-модель справится и даст больше часов от батареи. Если в стеке есть хотя бы один инструмент, который поставляется единственной бинарной сборкой под x86, — берите x86 и не рискуйте.
Режим разработчика и его риски
Режим разработчика — это отдельная от Crostini вещь, и путать их не стоит. Для работы в Linux он не нужен: среда разработки включается в обычном режиме. Режим разработчика открывает корневую оболочку самой ChromeOS и отключает проверяемую загрузку.
Что нужно знать до его включения:
- переключение режима в любую сторону стирает локальные данные всех профилей;
- проверяемая загрузка отключается — исчезает главный механизм защиты системы от подмены;
- при каждом включении показывается экран предупреждения, и устройство ждёт нажатия клавиши;
- на устройствах организации режим обычно запрещён политикой, а его включение фиксируется;
- обновления продолжают приходить, но гарантий целостности системы больше нет.
Разумных поводов включать режим разработчика для повседневной работы почти не осталось: всё, ради чего это делали раньше, сегодня закрывает штатный контейнер Linux.
Полная установка Linux вместо ChromeOS
Модели с полноценным Linux-контейнером
Весь каталогAcer Chromebook Plus 514 CB514-5H
Core 5 120U и 512 ГБ NVMe — под Linux-стек и тяжёлые вкладки
93 900 ₽
Acer Chromebook Plus 516 CB516-1H
16 дюймов — рабочее место без второго монитора
74 900 ₽
Подобрать модель под ваш стек
Расскажите, какие инструменты вам нужны, — подскажем, хватит ли ARM-модели или стоит брать x86 с запасом памяти.