Flutter на Linux: настольные приложения

Егор Долгов · 09.11.2026
GTK
clang · cmake · ninja
для программ под Linux
Показать по шагам
Субтитры
Чтобы Flutter собирал программы для Linux, нужны компилятор, сборщики и библиотека GTK.

Чтобы собирать с Flutter настольные программы для Linux, нужны компилятор C++, инструменты сборки и библиотека GTK. Для запуска в браузере или на Android они не нужны — только для программ под Linux.

Содержание:

  1. Пакеты для сборки
  2. Проверка: flutter doctor
  3. Запуск и сборка
  4. Что нужно на компьютере пользователя
  5. Итог

1. Пакеты для сборки

Flutter нужны пакеты clang , cmake , ninja-build , pkg-config , libgtk-3-dev и libstdc++-12-dev . В Ubuntu и Debian они ставятся одной командой. Команды вводятся в «Терминале» — как его открыть и вставить команду, рассказано на странице Установка Git :

sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev libstdc++-12-dev

sudo попросит пароль вашей учётной записи; символы при вводе не отображаются. Пакет libstdc++-12-dev есть в Ubuntu 22.04 и новее и в Debian 12 и новее; в Ubuntu 20.04 и Debian 11 его нет, и команда остановится с ошибкой «Unable to locate package».

В других дистрибутивах поставьте те же пакеты своим менеджером пакетов — документация Flutter готовых команд для них не даёт.

2. Проверка: flutter doctor

flutter doctor

В ответе должна быть галочка у раздела Linux toolchain - develop for Linux desktop . Если чего-то не хватает, doctor назовёт пакет, например:

clang++ is required for Linux development.
It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/

Так же он сообщает про CMake, ninja, pkg-config и библиотеки GTK. Без pkg-config doctor не может проверить GTK: если он пишет только про pkg-config, после его установки повторите flutter doctor .

Подсказка «Unable to access driver information using 'eglinfo'» — не ошибка: doctor не смог прочитать сведения о видеодрайвере. Её убирает пакет mesa-utils :

sudo apt-get install mesa-utils

Ещё одна проверка — flutter devices : в списке должна быть строка с платформой linux .

3. Запуск и сборка

Запуск проекта как программы Linux — в папке проекта (первый проект создадим в Уроке 1):

flutter run -d linux

Готовая программа собирается командой:

flutter build linux

Программа появится в папке build/linux/x64/release/bundle/ вашего проекта (на компьютере с процессором Arm64 — build/linux/arm64/release/bundle/ ): рядом с исполняемым файлом лежат папка lib с нужными библиотеками .so и папка data с данными приложения. Переносить программу нужно всей папкой bundle .

4. Что нужно на компьютере пользователя

Чтобы собранная программа запустилась у другого человека, на его компьютере должны быть системные библиотеки, которые она использует. По документации Flutter для этого может хватить команды:

sudo apt-get install libgtk-3-0 libblkid1 liblzma5

5. Итог

  • Для программ под Linux нужны clang , cmake , ninja-build , pkg-config , libgtk-3-dev , libstdc++-12-dev .
  • Проверка — flutter doctor (раздел Linux toolchain) и flutter devices (строка linux ).
  • flutter run -d linux — запуск, flutter build linux — готовая программа в build/linux/x64/release/bundle/ .

Установка самого Flutter — в Уроке 0 . Запуск на Android — Настройка Android для Flutter . Первый проект создадим в Уроке 1 .