Termux: Turning an Android Phone Into a Real Dev Machine
Termux turns an Android phone into a genuine Linux terminal with a package manager, an editor, SSH and git. It is free, open source, and genuinely useful — as a learning environment, a rescue kit for a server, and a way to script things when you have no laptop. This guide covers the correct install (the Play Store version is abandoned and will not update), a realistic setup, and the limits you should know before you start.
Know the limits first
Termux gives you a real Linux userland, but it runs on Android rather than inside a virtual machine. That means some things work exactly as on a desktop, and some things are blocked or awkward. Know these before you invest an evening.
- Storage is scoped. Since Android 11 you cannot read files outside your own Termux folder without a special setup or a file manager that requests access.
- No root, no system access. You cannot modify Android itself. This is a feature, not a limitation.
- Background processes get killed. Aggressive battery optimisation closes long-running things; exempt Termux from battery optimisation in Android settings.
- Termux:API is a separate app if you want to reach the camera, clipboard or SMS from the shell.
- Hardware acceleration is absent — no GPU compute, and CPU-heavy builds will be slow, though still faster than people expect.
Install and first steps
Install from F-Droid, open it once, and let it finish bootstrapping. Then update everything before installing anything else — the base image ships months behind.
pkg update && pkg upgrade
pkg install git openssh python nodejs-lts vim
termux-setup-storage # grant access to your shared folders- Termux:API from F-Droid as well — install it before you try to use any of the API commands.
- Use the on-screen keyboard's Ctrl key for things like Ctrl+C. On a soft keyboard, a long-press on the key row usually reveals it.
- Consider a Bluetooth or USB keyboard. Above roughly 80 columns you will not be able to see your own commands, which makes reading errors genuinely painful.
- Use a monospace font in the terminal settings, or nothing lines up and errors become unreadable.
The genuinely useful part: SSH into your own machines
This is where Termux stops being a toy. With SSH you can keep a real server as the machine that matters and use the phone as a proper terminal — which means you can fix a server from a train.
# generate a key, then copy the public half to your server
ssh-keygen -t ed25519 -C "phone"
cat ~/.ssh/id_ed25519.pub
# on the server, paste it into ~/.ssh/authorized_keys
ssh user@your-serverAdd a host alias in ~/.ssh/config so you do not have to type the full address, and set up key forwarding so git over SSH works from the phone too.
A setup that holds up
- Put your dotfiles in a git repo. Every Termux reinstall otherwise means redoing everything from memory.
- Sync a password manager so you are never typing long passwords on a phone keyboard.
- Keep a notes file with the exact commands you run often — typing them on a phone is slow and error-prone.
- Set up a QR code for your Wi-Fi so the phone can rejoin a network without typing a long password.
- Exclude Termux from battery optimisation, or long scripts die halfway through.
These all run in your browser, so they work on the same phone without needing a server or an account — handy when you are setting Termux up over mobile data.
All of these run in your browser — no account, no upload, free forever.
What it is genuinely good for
- Learning the shell and Linux properly, with real consequences for your mistakes.
- Emergency access to your own servers when a laptop is not available.
- Scripting, cron jobs and scheduled tasks that do not need a laptop awake.
- Running lightweight bots, scrapers and webhooks on a machine already in your pocket.
- Reading logs and restarting services without a second device.
Explore the Full SlashAI Library
Every prompt in our guides is part of our offline-ready vault of verified commands and instant browser tools. Free forever, no account required.
Browse All Commands