██╗ ██╗███╗ ███╗ ██████╗ ██║ ██║████╗ ████║██╔═══██╗ ██║ ██║██╔████╔██║██║ ██║ ██║ ██║██║╚██╔╝██║██║ ██║ ╚██████╔╝██║ ╚═╝ ██║╚██████╔╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝
Full Ubuntu on your Android device - one command, zero hassle
- What is UMO?
- Screenshots
- Desktop Environments
- Quick Start
- Commands
- CLI Options
- Requirements
- Project Structure
- Documentation
- Contributing
- License
UMO (Ubuntu Modded Optimized) is a free, open-source Ubuntu installer for Termux - rewritten from scratch to fix the root problems found in every similar project. No external UI dependencies, no manual configuration, no surprises.
| Problem | Other Projects | UMO |
|---|---|---|
dialog breaks the UI |
❌ Still using it | ✅ Pure POSIX TUI - no deps |
| VNC dies on screen lock | ❌ No fix | ✅ termux-wake-lock built-in |
| No audio inside proot | ❌ Manual workaround | ✅ PulseAudio TCP bridge |
systemctl fails |
❌ Confusing errors | ✅ Generic shell emulator (any service) |
| 20+ manual steps | ❌ Too complex | ✅ One command: bash install.sh |
| Environment | Type | Best For | UMO Design |
|---|---|---|---|
| XFCE4 | Full DE | Daily use - balanced performance | Themed panel, xfwm4 windows, wallpaper, whiskermenu |
| LXDE | Lightweight DE | Low-end and older devices | Themed lxpanel, pcmanfm wallpaper |
| Openbox | Window Manager | Advanced users, minimal footprint | Clearlooks windows, tint2 panel, root menu |
| Minimal | CLI only | Servers and headless usage | Terminal only - no theme applied |
All graphical desktops get the full design system: Materi GTK theme, Papirus icons, DMZ cursors, Inter + JetBrains Mono fonts, and the UMO wallpaper - applied to both root and the umo user, in dark or light mode.
Includes: TigerVNC · PulseAudio Bridge · Termux:X11 · Generic systemctl emulator · Session Control
curl -fsSL https://raw.githubusercontent.com/shadow-x78/ubuntu-modded-optimized/main/umo.sh | bashDownloads the latest release from GitHub (SHA-256 verified) and launches the installer. For a non-interactive install:
curl -fsSL https://raw.githubusercontent.com/shadow-x78/ubuntu-modded-optimized/main/umo.sh -o umo.sh && bash umo.sh --no-gui --de=xfce4 --apps=fullgit clone https://github.com/shadow-x78/ubuntu-modded-optimized.git ~/UMO
cd ~/UMO
bash install.shAfter installation:
umo start
umo login| Command | Description |
|---|---|
umo start |
Start session with VNC & Audio |
umo stop |
Stop all services |
umo status |
Show running status of services |
umo login |
Login as root |
umo user |
Login as default user |
umo run "<cmd>" |
Run one command inside the container |
umo backup [dir] |
Archive the Ubuntu rootfs |
umo update |
Pull latest release (release install) or commits (git clone), refresh host scripts, apply container hooks |
umo uninstall |
Remove UMO completely (rootfs, host scripts, umo command, aliases) |
umo version |
Display current UMO version |
Host-side scripts (
umo-login.sh,umo-start.sh,umo-stop.sh,umo-vnc-*.sh,aliases.sh) live in~/.umo/— the Termux home stays clean. The installer sources~/.umo/aliases.shfrom your shell rc, soumo-start,umo-stop,umo-startvnc,umo-stopvnc,umo-loginandumo-userare usable as plain commands.
| Command | Description |
|---|---|
umo-startvnc |
Start VNC server |
umo-stopvnc |
Stop VNC server |
systemctl start <service> |
Start a service (emulated) |
systemctl status <service> |
Check service status |
systemctl restart <service> |
Restart a service |
bash install.sh [OPTIONS]
--no-gui, --non-interactive Skip menus, use defaults/env vars
--de=xfce4|lxde|openbox Choose desktop environment
--apps=basic|dev|media|full Application group to install
--dir=PATH Custom installation directory
--ubuntu=22.04|24.04 Ubuntu version to install
--perf=balanced|aggressive|off Choose performance tuning level
--theme=umo-dark|umo-light|none
Choose desktop theme (default: umo-dark)
--lean Remove docs/man/locales to save space- Android 8.0+ - ARM64 processor (aarch64)
- Termux from F-Droid or GitHub - not from Play Store
- 2 GB+ free storage
- Internet connection
UMO/
├── bin/
│ ├── umo-install # Main installer logic
│ ├── umo-start # Session starter (Termux-side)
│ └── umo-stop # Session stopper (Termux-side)
├── lib/
│ ├── core-ansi.sh # ANSI colors, logging, banners
│ ├── core-ui.sh # TUI: menus, prompts, confirms
│ ├── core-system.sh # Platform detection, storage, internet
│ ├── core-net.sh # Downloads, mirrors, extraction
│ └── core-fs.sh # Safe file ops, backups, templates
├── modules/
│ ├── umo-proot.sh # Proot container setup
│ ├── umo-vnc.sh # TigerVNC installation & session scripts
│ ├── umo-audio.sh # PulseAudio TCP bridge
│ ├── umo-systemctl.sh # Generic systemctl emulator
│ ├── umo-desktop.sh # DE installer (XFCE4 / LXDE / Openbox)
│ ├── umo-theme.sh # Desktop design engine (all DEs)
│ └── umo-apps.sh # App group installer
├── config/
│ ├── xstartup # VNC session template
│ └── theme/ # Design templates: GTK, XFCE4, LXDE, Openbox, fonts, wallpaper
├── docs/
│ ├── INSTALL.md # Detailed installation guide
│ └── TROUBLESHOOTING.md # Common issues and fixes
├── install.sh # Quick-start entry point
├── umo.sh # One-liner release installer (curl | bash)
├── CHANGELOG.md # Release history
├── LICENSE # GPL-3.0-or-later
└── README.md # This file
| Document | Description |
|---|---|
| INSTALL.md | Detailed installation guide |
| TROUBLESHOOTING.md | Common issues and fixes |
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes
- Push to the branch
- Open a Pull Request
Distributed under the GPL-3.0 License.
Built by shadow-x78 · Changelog
© 2026 Ubuntu Modded Optimized (UMO)




