100% Rootless • PRoot Subsystem Engine

Run Full Linux Desktop & CLI Environments on Android

Complete Linux Installer brings full Ubuntu desktop environments (XFCE4 + VNC), VT100 pseudo-terminal emulation, and one-click developer stacks directly to your Android device — without needing root permissions.

Want pre-release builds? Join Open Beta Testing Track
Linux on Android App Screenshot
100%
Rootless PRoot Operation
XFCE4
Graphical Desktop GUI (VNC / noVNC)
3
Architectures (ARM64, x86_64, ARMv7)
1-Click
Desktop & Developer Stacks

Everything You Need for Mobile Desktop & CLI

Turn any Android phone or tablet into a full graphical desktop environment or portable development workstation.

🔒

100% Rootless Freedom

Operates entirely in user-space via native PRoot ptrace system call interception. No root access, bootloader unlocking, or system modifications required.

🖥️

Full Graphical Desktop (GUI)

One-click installation of full lightweight XFCE 4 desktop environment with TigerVNC server and web-based noVNC for windowed GUI access on phone or tablet screens.

Interactive Native Terminal

Built-in VT100/XTerm terminal emulator with full ANSI color support, PTY window resize, scroll buffer, and custom quick-action keys (Ctrl, Alt, Esc, Tab, Arrows).

💻

Full Shell & Command Line

Interactive POSIX PTY terminal environment supporting Zsh, Bash, Tmux, Htop, Neovim, and custom toolbar key bindings.

🌐

Multi-Arch Engine

Automatic architecture detection and native execution support for 64-bit ARM (aarch64), 64-bit x86 (amd64), and 32-bit ARM (armhf) processors.

📁

Storage & Device Binding

Automatic mounting of Android storage (/sdcard) and system pseudofs (/proc, /sys, /dev) alongside Link2Symlink SELinux compatibility.

Pre-Configured Desktop & Developer Workstations

Install complete desktop environments and CLI developer stacks with a single tap in the Software Hub.

XFCE4 Graphical Desktop & VNC

Full lightweight graphical Linux desktop environment featuring XFCE4 desktop manager, XFCE terminal, TigerVNC server, and noVNC web access.

xfce4 xfce4-terminal tigervnc-standalone-server novnc dbus-x11
View Desktop Setup Logic →
bash — linuxonandroid

root@android:~# vncserver :1 -geometry 1280x720

New 'android:1 (root)' desktop is android:1

Starting applications specified in /root/.vnc/xstartup

root@android:~# echo "Connect via VNC Viewer on localhost:5901"

Connect via VNC Viewer on localhost:5901

Node.js Developer Stack

Complete JavaScript & TypeScript backend environment featuring Node.js, npm, Yarn, GCC build-essential, Neovim, and Git.

nodejs npm yarnpkg build-essential git neovim
View Installation Logic →
bash — linuxonandroid

ubuntu@android:~$ node -v

v20.18.0

ubuntu@android:~$ npm --version

10.8.2

ubuntu@android:~$ git status

On branch main. Your branch is up to date with 'origin/main'.

Python 3 Developer Stack

Modern Python development environment with Python 3, pip3, virtualenv, GCC C/C++ compiler tools, Git, and Neovim.

python3 python3-pip python3-venv build-essential git
View Installation Logic →
bash — linuxonandroid

ubuntu@android:~$ python3 --version

Python 3.14.0

ubuntu@android:~$ pip3 list

Package Version --- pip 24.0, setuptools 69.5.1

Android Developer Tools

Build and debug Android applications inside Linux on Android using OpenJDK 17, ADB, Fastboot, Gradle, and Git.

openjdk-17-jdk android-sdk-platform-tools gradle
View Installation Logic →
bash — linuxonandroid

ubuntu@android:~$ java -version

openjdk version "17.0.12" 2024-07-16

ubuntu@android:~$ adb devices

List of devices attached

NGINX Web Server & SQLite

Turn your Android phone into a local HTTP web server and embedded database system powered by NGINX and SQLite3.

nginx sqlite3 curl
View Installation Logic →
bash — linuxonandroid

ubuntu@android:~$ service nginx start

* Starting NGINX web server nginx ... [ OK ]

ubuntu@android:~$ curl -I http://localhost

HTTP/1.1 200 OK Server: nginx/1.24.0

OpenSSH Server Daemon

Access your Android Linux environment remotely from your laptop or PC command line over local Wi-Fi or LAN.

openssh-server port 2222
View Installation Logic →
bash — linuxonandroid

ubuntu@android:~$ /usr/sbin/sshd -p 2222

Server listening on port 2222.

user@desktop:~$ ssh ubuntu@192.168.1.50 -p 2222

Welcome to Ubuntu 26.04 LTS (GNU/Linux aarch64)

15 Years of Innovation (2011 – Present)

From early XDA Developers root chroot scripts to a modern 100% rootless Jetpack Compose application.

2011 – 2012

Project Inception on XDA

First created on XDA Developers as the "Ubuntu Installer" and "Complete Linux Installer" project, pioneering chroot-based Linux deployments on early Android devices.

2013 – 2017

LinuxOnAndroid.com & Wide Adoption

Expanded distribution images (Ubuntu, Debian, Fedora, Arch) and custom rootfs image mounting tools hosted on linuxonandroid.com.

2026 Modern Architecture

100% Rootless Jetpack Compose Rebirth

Rebuilt from the ground up: complete rootless operation via PRoot ptrace, POSIX PTY native C++ bridge, Jetpack Compose Material3 UI, and arch-aware mirror automation.

Get Started in 3 Simple Steps

Setting up Linux on your Android phone takes less than 2 minutes.

01

Download on Google Play

Install Complete Linux Installer directly from the Google Play Store, or join open beta testing for pre-release builds.

Get on Google Play Store →
Join Open Beta Track →
02

Run Setup Wizard

Launch the app, select your target architecture, and tap Download & Install RootFS. The app unpacks and configures Ubuntu automatically.

03

Open Terminal & Tools

Navigate to the Terminal tab for interactive shell access or open the Software Hub to launch developer software stacks.