Run Ubuntu, Debian, Kali, Fedora, Arch and more on your Android phone, with a full desktop. No root.
Install · Distros · Desktops · Commands · How it works · Help
andronix installs and runs Linux distributions on Android, inside Termux, with no root. It's the installer behind the Andronix app (app 10, Andronix 2.0), and you can use it on its own.
curl -fsSL https://dl.andronix.app/get.sh -o $PREFIX/tmp/get.sh && sh $PREFIX/tmp/get.sh install debian --de xfceIt works with Termux from F-Droid, GitHub and Google Play; Play Termux needs Android 11 or newer. The installer adds proot itself if it's missing, repairs a half-upgraded Termux, applies the fixes your phone needs, and checks every download against its sha256. If an install stops, run the same command again and it continues. The docs have a version of the command that retries on a bad connection.
Releases and notes: Releases and CHANGELOG.md. Binaries are served from dl.andronix.app.
All free. andronix install <id> --de <desktop> installs one.
Most phones are arm64. The installer checks your CPU first and tells you if a distro doesn't support it. Details, start scripts and package managers: Supported distros.
| Desktop | --de |
Available on |
|---|---|---|
| XFCE (recommended) | xfce |
every distro |
| LXQt | lxqt |
every distro |
| MATE | mate |
every distro |
| KDE Plasma | kde |
Debian, Ubuntu 26.04 and Kali; needs 4 GB of RAM |
| Command line only | none |
every distro |
Every desktop install comes with Firefox. Open it full screen with andronix desktop and the Termux:X11 app; sound plays through the phone's speakers. To use the desktop from another device, VNC works too.
Debian 13 with XFCE, installed by andronix
andronix install <distro> [--de xfce|lxqt|mate|kde|none]
andronix start <distro> [-- command...] ./start-<distro>.sh works too
andronix desktop <distro> the desktop in Termux:X11
andronix update [<distro>] the installer and your distros
andronix backup <distro> --to storage andronix restore
andronix pack add <distro> python|node|java|go|db
andronix tune <distro> --profile light|balanced
andronix doctor what your phone supports, and the fixes applied
andronix report send us a problem report
andronix remove <distro>
andronix telemetry off|on|status
andronix help lists everything. Full reference: the andronix command.
| Command line only | With a desktop | |
|---|---|---|
| Android | 7 or newer | 7 or newer |
| Free storage | about 0.5 GB | 1.5 to 2 GB (about 3 GB for KDE Plasma) |
| RAM | 2 GB | 3 GB or more is comfortable; 4 GB or more for KDE Plasma |
| Root | not needed | not needed |
- Termux from F-Droid, GitHub or Google Play. The Play build needs Android 11 or newer.
- Android 12 and newer can stop long-running apps (
Process completed (signal 9)). Turn that off once. - Kernels older than 4.8 (many Android 8 and 9 phones): the command line works, but desktops stay black. The installer tells you.
More: Requirements and Limitations (no Snap, Flatpak, Docker or GPU acceleration).
flowchart LR
A["Andronix app<br/>pick a distro and desktop"] -->|copies one command| B["Termux"]
B --> C["get.sh<br/>installs andronix"]
C --> D["andronix install"]
D -->|"download, sha256 check"| E["dl.andronix.app<br/>clean rootfs images"]
D --> F["distro under proot<br/>~/.andronix/distros/"]
F -->|andronix desktop| G["Termux:X11<br/>full-screen desktop + sound"]
- The installer: one Go binary per CPU (aarch64, arm, i686, x86_64), built with
GOOS=androidfor Termux. A static Linux build of the same code runs inside each distro for the desktop and user setup. - Distros and desktops are data:
distros/*.confanddesktops/*.conf(plainKEY=value). The dev packs are data too, inmods/packs/*.conf. - Where the rootfs comes from: clean tarballs on dl.andronix.app (
ci/build-rootfs.sh, checked byci/check-image.sh). If a tarball isn't there, the distro's official Docker image is used. - Running it: each distro runs under proot, with fixes for Android kernels and seccomp. The installer measures what your phone's kernel and Termux can do and applies the fixes that phone needs;
andronix doctorshows them.
DESIGN.md has the details, and CHANGELOG.md has the releases.
ci/build-go.sh # all binaries into dist/ (arm, i686 and x86_64 need the Android NDK or Docker)
NO_NDK=1 ci/build-go.sh # quick: linux builds + android aarch64
go test ./...
tests/smoke.sh # end to end in a Termux-like Docker box (tests/Dockerfile)
tests/screens.sh debian xfce # install a desktop and take screenshots
ci/build-rootfs.sh debian aarch64 # a clean rootfs tarballThe test box turns telemetry off (ANDRONIX_NO_TELEMETRY=1). tests/emulator/ runs the installer inside the real Termux app on Android emulators.
andronix sends anonymous install events: distro, desktop, CPU, Android version, result, and a random id. It never sends names, emails, paths or commands. A notice shows the first time. Turn them off with andronix telemetry off or ANDRONIX_NO_TELEMETRY=1. The app's policy: andronix.app/privacy.
Andronix Modded OS 2.0 and the Classic editions are paid images, built and hosted separately, and sold in the Andronix app. This repository has only the installer's side (--edition, editions.conf). See Modded OS.
The installers of app 8.x and older are in AndronixApp/AndronixOrigin (master branch), and they keep working. Docs: app 8.x (Classic) and installs from before Andronix 2.0.
- Bugs: report a problem with
andronix reportor from the app, so we get your phone's details. GitHub issues are welcome too. - Code: this repository is published from our development tree. Open an issue first for a change you'd like to make.
- Docs: docs.andronix.app · troubleshooting · FAQ
- Discord: chat.andronix.app
- Website: andronix.app
- Email: support@andronix.app
MIT, see LICENSE. Each distro and package keeps its own license, and the distro logos belong to their projects.


