Short answer. Three options work in 2026.
Termux + proot-distro installs a
glibc Ubuntu, Debian, Alpine, Arch, or openSUSE userland inside a chroot on Android.
UserLAnd does the same
with a friendlier wizard but is essentially abandoned. Last release October 2021.
A cloud Ubuntu container reached from a native Android app skips the on-device
constraints entirely. Each of these answers a different version of the question
"I want a Linux container on my phone." We ship the cloud-container path and we
use the local ones; here is the honest 2026 rundown.
We tested every option below on a Pixel 8 running Android 14 in May 2026. We are the team behind Cosyra, so when we say "the cloud-container answer" we mean our own product. We will say where each local option wins; that is the only way this kind of post is useful.
This post was written by the Cosyra team. We cross-checked every claim against the project's own GitHub repository, the Termux wiki, and our internal competitor factsheets. Source verification date 2026-05-26.
tl;dr
Use Termux + proot-distro if you want a maintained, free, offline Linux container on Android and you accept the Bionic / glibc dance plus the Android 12+ phantom process killer. Use UserLAnd only if you specifically need its wizard and you understand the project has not shipped in 4+ years. Use a cloud Ubuntu container (we ship one) if you want apt, Docker-adjacent tooling, AI coding agents pre-installed, and zero on-device setup, and you accept the trade-off of needing an internet connection.
App Store · Google Play. Sign up — 1 hour free, no credit card. Extend with a 10-hour, 7-day trial when you want more.
Skip the chroot dance. Cosyra runs a per-user Ubuntu 24.04 container with Claude Code, Codex CLI, OpenCode, and Gemini CLI pre-installed. Reached from a native Android app, no proot-distro, no phantom-killer workarounds.
App Store · Google Play · Pricing. 1 hour free on signup, no credit card.
What does "Linux container on Android" actually mean?
The phrase collides with two different ideas. On a server, "Linux container" means a kernel-isolated process tree with its own namespaces, cgroups, and overlay filesystem: Docker, podman, LXC. On a phone, almost nobody asking the question means that. They mean: "I want apt-get install to work on the device I carry, with a real Ubuntu or Debian root filesystem, without rooting the phone." The honest reframing is that Android does not give an unprivileged app access to the kernel features that make real containers work. It does let you ship a chrooted userland that runs glibc binaries. That is what proot-distro and UserLAnd both deliver, and that is what most people are actually searching for.
The thing you cannot get without root, or without a remote machine, is Docker. The kernel surface Docker needs (overlay filesystem, network namespaces, cgroup v2 controllers) is locked down on Android. We will say so plainly throughout this guide so you do not chase a setup that ends in "cannot connect to the Docker daemon."
Three real options in 2026
1. Termux + proot-distro — the maintained local path
proot-distro is a Termux
add-on that pulls a full Linux root filesystem and runs it inside a PRoot chroot.
The current release is 5.1.1 from 2026-05-24, with 33 cut releases
on GitHub. We installed Ubuntu 24.04 on a Pixel 8 with three commands:
pkg install proot-distro
proot-distro install ubuntu:24.04
proot-distro login ubuntu Inside the chroot the experience is what people want. apt-get install nodejs runs and pulls the glibc build from Ubuntu's repos, none of the Bionic-libc compatibility headaches you hit running Node directly under Termux. Python with pandas and lxml installs cleanly. ripgrep, fzf, OpenSSH, tmux, vim, every standard tool works. The 30-second pitch is that proot-distro turns the Termux package collision problem (Bionic vs glibc) into a non-issue by giving you a real glibc userland to live in.
The two real catches we hit on Android 14:
- Phantom process killer. Long sessions inside the chroot get terminated by the same Android 12+ phantom-process killer that affects Termux directly. We left a build running, locked the phone, and came back twenty minutes later to a dead session. The tracking issue (Termux #2366) is closed with documented mitigations: on Android 14 and 15, toggle Developer Options → "Disable child process restrictions" and the killer stops touching your child processes. On earlier Android you need ADB or root.
- No Docker, no kernel modules. proot is user-mode; the chroot does not get kernel namespaces, cgroups, or overlay filesystems. docker, podman --rootful, kubectl-against-local-cluster, and anything that wants to load kernel modules will not work. proot-distro's own PRoot wiki page names this limit explicitly.
For the workloads that fit (apt, glibc binaries, language runtimes, builds that finish in minutes), Termux + proot-distro is the local answer that still gets updates in 2026. If your interest is specifically running Claude Code or another AI coding agent inside this stack, our Cosyra vs Termux comparison walks through the npm-vs-native installer trade-off and what the agent actually does when phantom-killer takes its host shell.
2. UserLAnd — the GUI-friendly but stagnating path
UserLAnd is the only mainstream Android-app-store alternative to "install Termux and type proot-distro install." It bundles a chrooted Ubuntu, Debian, Alpine, Arch, or Kali userland with a wizard-style setup flow and an optional VNC server for graphical sessions. As an idea it is great. As a 2026 codebase it has stalled. The GitHub releases page shows the last cut release as v2.8.3 in October 2021, and the issue tracker carries 995 open issues with maintainer responses thinning out after 2022.
The app still installs from the Play Store and the bootstrap still works. On our Pixel 8 the install completed in about six minutes and landed us at a working Ubuntu shell with apt available. The catch is everything beyond that. The Android 12+ phantom-killer hits UserLAnd sessions for the same root reason it hits Termux, and there is no in-app guidance on Developer Options because the docs predate that feature. Security updates to UserLAnd's bootstrap scripts have stopped. For a new setup in 2026, we recommend Termux + proot-distro over UserLAnd. Same idea, maintained.
3. Cloud Ubuntu container — what we ship for the no-setup case
This is the option we built. Cosyra runs a per-user Ubuntu 24.04 container on Azure with Claude Code, Codex CLI, OpenCode, and Gemini CLI pre-installed. You install a native Android app, sign in, and the terminal opens into a real x86_64 Linux environment with apt, persistent 30 GB storage, and session hibernation. The phone is the keyboard, screen, and clipboard; the Linux workload runs in the cloud container. We hold the opinion that for long-running AI agent sessions, the kind where the keyboard barely matters because the agent does the typing, a cloud container is the right shape, because nothing on a phone in your pocket survives the OS killing long processes the way a managed VM does.
Where a cloud container loses to Termux + proot-distro: you need an internet connection, your code sits on someone else's infrastructure, and there is a monthly bill after the free tier. Where it wins: apt-get install works, glibc binaries run unmodified, the Android phantom-killer is irrelevant, you do not need to keep your phone awake for builds to finish, and the same container is reachable from your iPad on the train into the city and from the web on a hotel workstation. We are the cloud-container team, and we still keep proot-distro installed on a personal Pixel for the offline edge.
Try the cloud-container answer. Cosyra is a native Android app paired with a managed Ubuntu 24.04 container. Claude Code, Codex CLI, OpenCode, and Gemini CLI come pre-installed.
App Store · Google Play · Pricing. 1 hour free on signup, no credit card. Extend with a 10-hour, 7-day trial.
How do the three options compare?
Verified 2026-05-26 against each project's own documentation and our own Pixel-8-on-Android-14 testing.
| Dimension | Termux + proot-distro | UserLAnd | Cloud Ubuntu container |
|---|---|---|---|
| Where Linux runs | On the phone (chroot in Termux) | On the phone (chroot in app) | On a managed cloud container |
| Distributions | Ubuntu, Debian, Alpine, Arch, openSUSE | Ubuntu, Debian, Alpine, Arch, Kali | Ubuntu 24.04 only |
| Package manager | apt / apk / pacman / zypper (glibc) | apt / apk / pacman (glibc) | apt (Ubuntu, glibc) |
| Maintenance (2026) | Active (proot-distro 5.1.1, 2026-05-24) | Stalled (v2.8.3, October 2021) | Active (managed service) |
| Phantom-killer immune | No (mitigation on Android 14+) | No (no in-app guidance) | Yes (workload is off-device) |
| Docker works | No | No | No (kernel-sensitive, see FAQ) |
| AI coding agents | Installable (Node/Python CLIs) | Installable, but stagnating host | Pre-installed |
| Offline use | Yes | Yes | No |
| Pricing (2026-05-26) | Free (GPL-3.0) | Free (GPL-3.0) | 1 hour free on signup, $29.99/mo Pro |
| iOS equivalent exists | No (Android only) | No (Android only) | Yes (same container, iOS app) |
Who should pick what?
A decision framework that names the user, not the feature.
- Pick Termux + proot-distro if you want a maintained, free Linux container on the phone you carry, you are comfortable flipping Developer Options on Android 14 or 15 to silence the phantom killer, your work fits inside what apt-get install can give you, and you do not need Docker. This is the strongest local answer in 2026.
- Pick UserLAnd if you specifically want a wizard-style setup, you understand the project has not shipped a release since 2021, and your workload is short enough that abandoned-bootstrap issues will not trip you up. Most readers will be better served by Termux + proot-distro.
- Pick a cloud Ubuntu container if you want apt + AI coding agents working in two minutes from a native phone app, your sessions are long enough that the phantom killer would be a daily problem, you want the same Linux environment on your phone, tablet, and laptop browser, and you are comfortable with the trade-off that you need an internet connection. We trade off offline use and the "your code lives on our infrastructure" trust question for "no setup, agents are there, hibernation just works."
Why this question rhymes with "Termux for iPhone"
The Android side is the opposite shape of the iOS side. On iOS the answer is "no Termux exists and never will, because the platform forbids the process model" (we wrote that up in Termux for iPhone). On Android the platform allows the process model, the toolchain exists, proot-distro is maintained, and you really can have a real Ubuntu userland on a phone you carry. The honest reframing of the question is the same on both sides: where do you want your Linux to run? If you want it on the phone hardware itself, Android lets that happen and iOS does not. If you want it managed and reachable from a phone keyboard while you are on the train, a cloud container is the cross-platform answer either way.
Related guides
- Cosyra vs Termux — the head-to-head, including the Android phantom-process killer and the npm-vs-native Claude Code install path.
- Termux for iPhone — the iOS side of the same question and why the answer there is "no port, four workarounds."
- Claude Code on Android — what changes when you specifically want to run Anthropic's CLI on the same chroot.
- Code Python on your phone — pip + native extensions on Termux, proot-distro, and the cloud container.
- The mobile coding terminal pillar — four ways to get a real Linux terminal on your phone, with honest trade-offs.
- AI coding agents on mobile: Claude Code, Codex CLI, OpenCode, and Gemini CLI on iPhone and Android.
- Mobile cloud terminal solutions: the broader cluster pillar covering managed cloud terminals for mobile.