Ubuntu 24.04 on Android, natively

Cortex Terminal runs real Ubuntu 24.04 LTS (glibc 2.39 and apt) directly on your Android phone or tablet. No root, no PRoot, no containers, no virtual machine. A free, open-source alternative to Termux + proot-distro.

Download the APK View on GitHub
neofetch in Cortex Terminal showing Ubuntu 24.04 LTS running natively on an Android phone Cortex Terminal virtual keyboard toolbar with ESC, TAB, CTRL, ALT and arrow keys

What you get

Genuine Ubuntu 24.04 LTS

Ubuntu's own .deb packages with glibc 2.39, installed with apt from the official archive.

Direct execution

Programs run on the Android kernel itself. A small preloaded library maps /usr, /etc and friends into the app's private storage.

Built for developers

gcc, git, Python, Java 17, Node.js (apt or nvm) and more. Changed ~/.bashrc files are picked up at the next prompt.

Made for a phone

Sessions drawer, virtual key toolbar, terminal search, clickable links and image paste.

Terminal integration

Clipboard from tmux/vim (OSC 52), notifications when long commands finish, OSC 8 hyperlinks.

Your files, safe

cortex-backup for backup and restore, and your home folder in Android's Files app.

Cortex compared

CortexTermux (own packages)Termux + proot-distroAndroid Linux Terminal (VM)
Needs rootNoNoNoNo
How Linux programs runDirectly on the Android kernel, with path redirection in user spaceDirectly, as programs built for AndroidInside PRoot, a user-space chroot using ptraceInside a virtual machine (supported devices only)
C libraryglibc 2.39 (Ubuntu)Bionicglibc of the chosen distributionglibc (Debian)
Package sourceUbuntu 24.04 archive via aptTermux repositories via pkgThe distribution's own aptDebian apt
ptrace system-call overheadNoneNoneYesNone (VM overhead instead)

Pick Cortex when you want Ubuntu's own packages and a genuine glibc without the layers PRoot or a VM add. Termux remains a great choice for its large, Android-specific package set.

Install

  1. Open the latest release.
  2. Download Cortex-arm64-v8a-signed.apk (64-bit, almost all current phones) or Cortex-armeabi-v7a-signed.apk (32-bit ARM).
  3. Install it, allow storage access when asked, and wait for the one-time base system setup.
  4. Install tools with apt:
apt update
apt install git python3 build-essential openjdk-17-jdk

FAQ

Does Cortex need root?

No. It runs on unrooted devices.

Does it use PRoot, chroot or a virtual machine?

No. Programs run directly on the Android kernel. A small preloaded library redirects file paths such as /usr and /etc to Cortex's private storage and emulates root-only details like the user id.

Which Android versions and CPUs are supported?

Android 7.0 and newer, with separate APKs for 64-bit (arm64-v8a) and 32-bit (armeabi-v7a) ARM devices.

How do I install software?

Use apt like on any Ubuntu system. Installers such as nvm also work.

Is there a desktop or GUI?

Not yet. Cortex is a terminal; there is no X11 or Wayland server.

Will every Ubuntu package work?

Most command-line tools do. Packages that depend on kernel features Android does not allow for apps, such as systemd services or privileged device access, cannot work.

Which languages does the app support?

It follows your system language and offers 50 languages in Settings. The translations were made with machine assistance, so corrections are welcome on GitHub.

Where do I report problems?

On GitHub Issues or on Telegram.