Перейти к содержимому Перейти к содержанию
Chromebook для бизнеса и образования хромбук.рф Кабинет B2B

Linux на Chromebook: Crostini от включения до Docker

Среда разработки Linux встроена в ChromeOS и включается из настроек за несколько минут. Внутри — контейнер Debian с терминалом, пакетным менеджером и правом ставить что угодно. Разбираем, как это устроено, как включить по шагам, что реально работает — и где проходит честная граница между моделями на x86 и на ARM.

Чтение 11 мин Проверено на ChromeOS 132

Что такое Crostini

Crostini Штатная среда разработки ChromeOS: контейнер Debian внутри виртуальной машины, интегрированный с рабочим столом и файловым менеджером. — официальное название среды разработки Linux в ChromeOS. Это не эмулятор и не «Linux вместо системы»: полноценный контейнер Debian работает внутри виртуальной машины, у которой собственное ядро, а окна его программ появляются на общем рабочем столе рядом с вкладками браузера.

Слои среды Linux в ChromeOS ChromeOS запускает монитор виртуальных машин, внутри него работает виртуальная машина Termina, а внутри неё — контейнер Debian с терминалом, пакетным менеджером и приложениями разработчика. ChromeOS: ядро, проверяемая загрузка, песочница Монитор виртуальных машин Виртуальная машина Termina — отдельное ядро Контейнер Debian: терминал, пакетный менеджер редактор кода · Python · Node · контейнеры · оконные приложения папки и USB-устройства пробрасываются только явным разрешением каждый слой изолирован от соседнего: поломка контейнера не трогает систему
Три уровня изоляции — причина, по которой эксперименты в контейнере безопасны для системы: контейнер удаляется и создаётся заново из настроек.

У такой архитектуры есть цена: часть оперативной памяти и накопителя уходит виртуальной машине, доступ к оборудованию ограничен, а производительность графики ниже, чем в обычном настольном Linux. И есть выигрыш: сломать систему из контейнера нельзя, а снести и пересоздать контейнер — дело нескольких минут.

Как включить среду разработки: по шагам

  1. Проверьте свободное место

    Контейнеру нужен собственный раздел. Для комфортной работы заложите не меньше 20 ГБ свободного места, а если планируете контейнеры и локальные базы — 40 ГБ и больше.

  2. Откройте настройки системы

    «Настройки» — раздел «Об ОС Chrome» — пункт «Инструменты разработчика». В управляемых устройствах этот пункт может быть скрыт политикой организации: тогда включение делает администратор.

  3. Включите среду разработки Linux

    Нажмите «Включить» напротив пункта «Среда разработки Linux». Система предупредит, что займёт часть накопителя.

  4. Задайте имя пользователя и размер диска

    Имя пользователя внутри контейнера не связано с аккаунтом Google. Размер диска потом меняется в настройках в обе стороны, поэтому не занижайте его из осторожности.

  5. Дождитесь загрузки образа

    Система скачает образ виртуальной машины и развернёт контейнер. На быстром канале это несколько минут; процесс требует интернета и выполняется один раз.

  6. Обновите пакеты и поставьте инструменты

    В открывшемся терминале выполните обновление списка пакетов и установку обновлений, затем ставьте нужное: компиляторы, интерпретаторы, утилиты. Дальше это обычный 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 работает на обеих архитектурах, но набор доступного программного обеспечения различается — и разница проявляется именно там, где ошибка стоит дороже всего: в инструментах разработчика.

Доступность инструментов разработки в Crostini на x86 и ARM
Что нужно x86 — Intel и AMD ARM — MediaTek и Qualcomm
Пакеты из репозитория Debian Практически всё Большая часть, но не всё: смотрите наличие сборки под arm64
Сторонние пакеты от поставщиков Сборка обычно есть Сборка под arm64 бывает не у всех
Образы контейнеров Практически любые Нужен образ с поддержкой arm64; иначе только медленная эмуляция
Проприетарные бинарные утилиты Чаще доступны Часто недоступны
Мобильная разработка с эмулятором устройства Работает на моделях с достаточной памятью Ограниченно и медленно
Игровая платформа Steam на ChromeOS Только на отдельных моделях, отвечающих требованиям Не поддерживается
Автономность при той же работе Ниже Выше

Практическое правило: если ваша работа — веб, скрипты, данные, документация и всё, что ставится из репозитория, ARM-модель справится и даст больше часов от батареи. Если в стеке есть хотя бы один инструмент, который поставляется единственной бинарной сборкой под x86, — берите x86 и не рискуйте.

Режим разработчика и его риски

Режим разработчика — это отдельная от Crostini вещь, и путать их не стоит. Для работы в Linux он не нужен: среда разработки включается в обычном режиме. Режим разработчика открывает корневую оболочку самой ChromeOS и отключает проверяемую загрузку.

Что нужно знать до его включения:

  • переключение режима в любую сторону стирает локальные данные всех профилей;
  • проверяемая загрузка отключается — исчезает главный механизм защиты системы от подмены;
  • при каждом включении показывается экран предупреждения, и устройство ждёт нажатия клавиши;
  • на устройствах организации режим обычно запрещён политикой, а его включение фиксируется;
  • обновления продолжают приходить, но гарантий целостности системы больше нет.

Разумных поводов включать режим разработчика для повседневной работы почти не осталось: всё, ради чего это делали раньше, сегодня закрывает штатный контейнер Linux.

Полная установка Linux вместо ChromeOS

Модели с полноценным Linux-контейнером

Весь каталог

Подобрать модель под ваш стек

Расскажите, какие инструменты вам нужны, — подскажем, хватит ли ARM-модели или стоит брать x86 с запасом памяти.