Anbox не запускается: диагностика и решение проблемы

Команда anbox launch завершается ошибкой «Failed to launch activity» или окно эмулятора просто не появляется — это самый частый сценарий, с которым сталкиваются после установки Anbox в Linux. Причина почти всегда лежит в одной из трёх зон: не загружены модули ядра, не работает служба контейнера или система не может стартовать графическую сессию Android.

Ниже разберём проверки в порядке от простых к сложным. Порядок важен: если пропустить диагностику и сразу переустанавливать пакет, легко потерять время, потому что сбой вернётся — он сидит не в самом Anbox, а в окружении. Перед началом убедитесь, что у вас установлен snapd, а сам Anbox поставлен в режиме --devmode, поскольку именно так распространяется этот snap-пакет.

Проверка модулей ядра binder и ashmem

Anbox не является классическим эмулятором: он запускает Android поверх ядра вашего Linux через контейнер LXC. Для этого ядру нужны два модуля — ashmem_linux и binder_linux. Если они не загружены, контейнер не стартует, и никакие действия внутри самого Anbox ситуацию не исправят.

Проверить наличие модулей можно одной командой:

lsmod | grep -E "ashmem|binder"

Если вывод пустой, загрузите модули вручную:

sudo modprobe ashmem_linux

sudo modprobe binder_linux

Должны появиться устройства /dev/ashmem и /dev/binder. Если команда modprobe возвращает ошибку «module not found», значит, в вашем ядре этих модулей нет — они поставляются отдельным пакетом (например, anbox-modules из сторонних репозиториев) или требуют ядра, собранного с соответствующими опциями.

  • 🔧 Проверьте, поддерживает ли ваше ядро модули binder/ashmem — в некоторых дистрибутивах их нужно ставить отдельно
  • 📦 После обновления ядра модули могут «слетать», если были собраны через DKMS — требуется пересборка
  • 🔍 Команда ls -l /dev/binder быстро покажет, создано ли устройство после загрузки модуля

Диагностика службы anbox-container-manager

Вторая точка отказа — системная служба, управляющая контейнером Android. Она называется snap.anbox.container-manager и должна быть активна постоянно, пока вы работаете с Anbox. Если служба упала или не запустилась при старте системы, команда запуска приложений будет зависать или выдавать ошибку подключения.

Проверьте статус службы:

systemctl status snap.anbox.container-manager

Если служба остановлена, попробуйте перезапустить её и посмотреть журнал:

sudo systemctl restart snap.anbox.container-manager

journalctl -u snap.anbox.container-manager -n 50 --no-pager

Журнал подскажет конкретную причину: отсутствующий образ Android, проблемы с правами на каталог данных или конфликт с другим контейнерным окружением. Частая находка в логах — повреждённый файл android.img, который Anbox использует как системный образ.

⚠️ Внимание: не удаляйте файл android.img и каталог /var/snap/anbox вручную, пока служба контейнера запущена — это может привести к рассинхронизации состояния snap-пакета. Сначала остановите службу через systemctl stop.

Проблемы с snap-пакетом и правами доступа

Anbox распространяется исключительно через snap и требует флаг --devmode при установке. Если пакет был установлен без него или snapd работает некорректно, эмулятор не получит доступа к нужным системным ресурсам.

Проверьте, что snap видит пакет и службы:

snap list anbox

snap services anbox

Если пакета нет в списке или он установлен в строгом режиме, переустановите его корректно:

sudo snap install --devmode anbox

Также стоит убедиться, что сам snapd обновлён — старые версии демона иногда конфликтуют с контейнерным менеджером Anbox. В дистрибутивах, где snapd не является частью системы по умолчанию, дополнительно проверьте, запущен ли его сокет: systemctl status snapd.socket.

📊 На каком этапе у вас останавливается запуск Anbox?
Модули ядра не загружаются
Служба контейнера падает
Окно Android не появляется
Приложения внутри Anbox не работают

Графический стек: почему не появляется окно Android

Служба работает, контейнер жив, а окна нет — значит, проблема на уровне графики. Anbox пробрасывает графический вывод через OpenGL ES в сессию хоста, и здесь возможны конфликты: проприетарные драйверы NVIDIA, сеанс Wayland вместо X11, недоступный дисплейный сокет.

Первым делом проверьте, в какой сессии вы работаете:

echo $XDG_SESSION_TYPE

Если вывод — wayland, возможная причина сбоя именно в этом: поддержка Wayland в Anbox исторически нестабильна. Попробуйте войти в систему, выбрав сеанс «на Xorg» на экране входа. Также убедитесь, что переменная окружения DISPLAY задана, если вы запускаете Anbox из терминала вручную.

Для проверки самого запуска сессии используйте команду с выводом диагностики:

anbox session-manager

Команда должна остаться «висеть» в терминале без ошибок — это нормально, session manager работает в фоне. Если она завершается с сообщением об ошибке EGL или драйвера, проблема в графическом стеке вашей системы.

Пошаговая инструкция восстановления запуска

Соберём всё в единый порядок действий — от базовой проверки до полного сброса. Выполняйте шаги последовательно и после каждого проверяйте, запустился ли Anbox.

☑️ Чек-лист восстановления Anbox

Выполнено: 0 / 5

Полный сброс состояния Anbox — крайняя мера, когда остальное не помогло. Она удаляет данные приложений внутри эмулятора:

sudo systemctl stop snap.anbox.container-manager

sudo snap remove anbox

sudo snap install --devmode anbox

После переустановки дайте службе минуту на инициализацию контейнера, затем запускайте anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity или иконку Anbox из меню приложений.

⚠️ Внимание: переустановка snap-пакета полностью стирает данные Android-среды — установленные APK, настройки и аккаунты. Если внутри Anbox есть важные данные, сначала попробуйте все обратимые шаги из предыдущих разделов.

Типичные ошибки и их расшифровка

Сообщения в терминале и журнале — главный источник информации о причине сбоя. Ниже сведены частые симптомы и направления поиска. Точный текст ошибок может отличаться в зависимости от версии Anbox и дистрибутива.

СимптомВероятная причинаЧто проверить
Failed to launch activitySession manager не запущенЗапустить anbox session-manager вручную
Контейнер не стартуетНет модулей binder/ashmemlsmod, загрузка через modprobe
Ошибка EGL / OpenGLКонфликт графических драйверовДрайверы GPU, сеанс X11 вместо Wayland
Служба падает при стартеПовреждён android.imgЖурнал journalctl -u snap.anbox.container-manager
Чёрный экран в окнеПроблема проброса графикиВывод session-manager в терминале

Отдельно стоит упомянуть: Anbox официально находится в состоянии ранней разработки (alpha/beta) и не получает активных обновлений, поэтому часть ошибок связана не с вашей системой, а с ограничениями самого проекта. Если стабильность критична, рассмотрите альтернативы — например, Waydroid, который развивается активнее и лучше работает на современных ядрах, хотя требует сеанс Wayland.

Что делать, если ничего не помогло

Соберите диагностику: вывод lsmod, статус службы контейнера, журнал journalctl и вывод anbox session-manager. С этими данными поиск по issue-трекеру проекта Anbox на GitHub обычно даёт точное совпадение по ошибке. Если система позволяет, протестируйте Waydroid — он использует похожую архитектуру, но активнее поддерживается сообществом.

Альтернативы, если Anbox нестабилен

Иногда честный ответ на «Anbox не запускается» — сменить инструмент. Проект Anbox давно не получает крупных обновлений, и на новых ядрах его модули могут попросту не собираться. Вам не нужно бороться с устаревшей сборкой, если задача — просто запускать Android-приложения на Linux.

  • 🚀 Waydroid — контейнерный запуск Android на Wayland, активная разработка, хорошая производительность
  • 📱 Genymotion — полноценный эмулятор на базе VirtualBox, подходит для тестирования
  • 🎮 Android-x86 в виртуальной машине — тяжеловесное, но предсказуемое решение

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

Частые вопросы

Почему Anbox запускается, но приложения внутри не открываются?

Чаще всего контейнер ещё не завершил инициализацию — подождите 1–2 минуты после старта службы. Если не помогает, проверьте журнал session-manager: там будут ошибки загрузки активности конкретного приложения.

Можно ли установить Anbox без snap?

Официальный способ распространения Anbox — только snap-пакет. Сторонние сборки существуют, но их стабильность и безопасность не гарантированы; используйте их на свой риск и сверяйтесь с документацией конкретной сборки.

Работает ли Anbox на Wayland?

Поддержка Wayland в Anbox ограничена и нестабильна. Надёжнее использовать сеанс X11. Если у вас только Wayland, лучшим выбором будет Waydroid — он изначально спроектирован под этот протокол.

Ошибка «module binder_linux not found» — что делать?

В вашем ядре нет нужных модулей. Установите пакет с модулями Anbox для вашего дистрибутива (например, через DKMS) или используйте ядро, где они включены. После установки загрузите модули через modprobe и проверьте появление /dev/binder.

Удалит ли переустановка Anbox мои данные?

Да, удаление snap-пакета стирает всю Android-среду: приложения, настройки и файлы внутри эмулятора. Перед переустановкой попробуйте перезапуск службы и ручной запуск session-manager — часто этого достаточно.