Made for Hack Club

Linux Desktop
on Your Android

Run a full XFCE desktop environment on your phone using Termux — hardware-accelerated, browser-accessible, and Windows Remote Desktop ready. Program, learn Linux, and manage servers from anywhere.

3Display Modes
2Setup Scripts
100%On-Device

See It in Action

Watch the full setup and walkthrough of the Termux Desktop in action — from installation to a working XFCE session on Android.

Full demo — setup, launch, and live desktop session

A Real Linux Environment
in Your Pocket

Most Android dev apps feel limited. This setup builds a full desktop workflow that feels like a real Linux PC — running entirely on your phone.

🐧

Learn Linux Hands-On

Practice real Linux commands, filesystem navigation, shell scripting, and system administration in a genuine environment.

Hardware Accelerated

Termux:X11 uses your phone's GPU directly for smooth, responsive graphics — no VNC lag, no software rendering overhead.

💻

Real Dev Tools

Run Git, Neovim, Python, Node.js, SSH, and any Termux package. A proper terminal-first development workflow.

🌐

Browser Access via WiFi

noVNC streams your desktop to any browser on your network. Access from a laptop, tablet, or any device without extra apps.

🪟

Windows RDP Support

Connect from Windows Remote Desktop over USB tethering using xRDP — ideal for working on a PC with phone as the server.

♻️

Reuse Old Hardware

Give old Android phones a second life as development machines. XFCE is lightweight enough for devices with limited RAM.

Get Running in
Minutes

Two steps: install the required apps, then run one setup script. That's it.

02

Run the Setup Script Run Once

Open Termux and paste these commands. setup.sh installs everything automatically.

bash
# Update packages and install wget
pkg update && pkg upgrade
pkg install wget

# Download setup script
wget https://raw.githubusercontent.com/Tanmay-1122/Termux-desktop/main/setup.sh

# Make it executable and run
chmod +x setup.sh
./setup.sh
The setup script installs XFCE4 and all required packages. This may take a few minutes depending on your internet speed.
03

What Gets Installed

Everything is installed automatically. Failed packages are skipped gracefully — nothing breaks.

PackageRequired For
termux-x11-nightlyMode A — hardware display
pulseaudioAudio in all modes
dbusDesktop session management
xfce4The desktop environment
tigervncModes B & C — VNC server
websockifyMode B — browser bridge
xrdpMode C — Windows Remote Desktop
wget / unzipDownloading noVNC and files
04

Add the Home-Screen Shortcut

Launch your desktop with a single tap — no need to open Termux every time.

1

Long-press your home screen and select Widgets

2

Find Termux and drag Termux:Widget onto your screen

3

Tap the widget — you'll see "Start Desktop" as a shortcut

4

Tap Start Desktop any time to launch your Linux desktop

Three Ways to
View Your Desktop

The launcher detects your network and lets you choose the best display mode for the situation.

╔══════════════════════════════════════════════════╗
║        🖥️   Termux Desktop  Launcher            ║
╠══════════════════════════════════════════════════╣
║  Network Status:                                 ║
║   USB           : Not detected                   ║
║   WiFi          : 192.168.1.5                    ║
╠══════════════════════════════════════════════════╣
║  Select Display Mode:                            ║
║                                                  ║
║   A) Termux:X11  — Hardware-accelerated  ⚡      ║
║   B) noVNC       — Browser access (WiFi) 🌐      ║
║   C) xRDP        — Windows RDP via USB   🪟      ║
║                                                  ║
╚══════════════════════════════════════════════════╝

   Enter choice [A/B/C]: 
Mode A

Termux:X11

Hardware-accelerated display directly through the Termux:X11 app. Uses your phone's GPU for the smoothest experience.

  • Fastest & smoothest
  • No network required
  • Best for daily use
  • Direct GPU access
How to connect: The Termux:X11 app opens automatically. No extra steps needed.
Mode B
🌐

noVNC

Desktop streamed to any browser over WiFi. Access from a laptop, tablet, or any device on the same network.

  • No extra apps needed
  • Works on any device
  • Access over WiFi
  • Great for quick access
How to connect: Open any browser and go to http://<phone-ip>:6080/vnc.html
Mode C
🪟

xRDP

Remote Desktop Protocol over USB tethering. Connect from Windows PC using the built-in Remote Desktop app.

  • Works on Windows PC
  • USB tethering — no WiFi
  • Familiar RDP interface
  • Low latency over USB
How to connect: Enable USB tethering, open mstsc on Windows, enter the IP shown. Leave username & password blank.

Start Your Desktop
Every Time

After the one-time setup, launching your desktop is always this simple.

🖥️

Via Terminal

bash
./start-desktop.sh
or
📱

Via Widget

Tap the "Start Desktop" shortcut on your home screen. The widget runs the same script instantly.

Getting the Best
Performance

📵

Disable Bluetooth Services

On older devices, disabling unused Bluetooth services frees up RAM and CPU cycles.

🖨️

Disable Print Services

Printing services are rarely needed in a Termux desktop. Disabling them reduces memory usage.

📑

Limit Browser Tabs

Each browser tab uses significant RAM. Keep tabs minimal when running in noVNC mode.

⌨️

Prefer Neovim

Neovim is far lighter than heavy IDEs. Use it for coding — it's fast even on low-spec devices.

🔧

Use Terminal Tools

CLI tools use less memory than GUI equivalents. Use git, curl, ssh wherever possible.

📊

Monitor Memory

Run htop to monitor CPU and RAM usage and kill processes that are eating resources.

bash
# Monitor system resources
htop

Your Mobile
Dev Environment

A surprisingly capable Linux workstation in your pocket. More than enough for learning, coding, server management, and experimentation.

🖥️ XFCE Desktop
📟 Terminal
Bash
Git
SSH / SCP
Neovim
Python / Node
📁 Projects
Web Dev
Shell Scripts
Server Admin
Linux Practice

Project Structure

text
Termux-desktop/
├── setup.sh          ← Run once — install everything + create widget
├── start-desktop.sh  ← Run every time — launch the desktop
└── README.md         ← Project documentation
setup.sh

Installs all packages, downloads noVNC, creates the home-screen widget shortcut. Run this exactly once on first use.

start-desktop.sh

Detects your network, presents the mode selector, and launches XFCE in your chosen display mode. Run this every time you want to start.

Ready to Build Your
Mobile Linux Workstation?

Two scripts. Three display modes. One powerful Linux desktop — on your Android phone.