What they have in common
All four run the distro with proot, on Android's own kernel, as an ordinary app. So they share the same limits: no Docker, Snap or Flatpak, no access to hardware like USB adapters, and little or no GPU acceleration (Andronix has an experimental option in the app), and on Android 12 and newer, Android's phantom process killer can stop the distro with "Process completed (signal 9)" until you turn it off (how to fix signal 9). None of them needs root.
When to pick which
Andronix
If you want a working desktop with the fewest steps. Andronix 10.1 runs Linux in the app: pick a distro and a desktop, set up your user, and the desktop opens in the app, with sound. The free distros are free; Modded OS editions with a themed, ready-made desktop are optional and paid. On a phone with Android 7 or without a 64-bit ARM processor, or if you want the command-line installer, use Andronix with Termux: the Termux guide. Start here.
UserLAnd
A self-contained, open-source alternative. UserLAnd is an app that runs a distro and connects to it over SSH or VNC.
AnLinux
If you want a long list of distros, including Parrot, BackBox and openSUSE, and you're happy to paste setup scripts into Termux and use a VNC viewer.
proot-distro
If you're comfortable on the command line and want full control: it's the official Termux tool, it can create a container from any Docker/OCI image, and you set up the desktop, sound and users yourself.
And Android's own Linux Terminal?
Some newer phones (Pixel, and Exynos versions of some Samsung phones) have Google's Linux Terminal, a Debian virtual machine with its own kernel. It's not available on Snapdragon phones. How it compares with Termux and Andronix: Android's Linux Terminal vs Termux and Andronix.
Installing Kali? See How to install Kali Linux on Android without root.
Sources
- UserLAnd: GitHub repository
- AnLinux: GitHub repository and its desktop scripts
- proot-distro: GitHub repository
- Andronix: supported distros and the andronix command