Termux is the first app I install on every Android device I get my hands on. It's astonishingly capable.
I have a Bluetooth keyboard case for my Android tablet. All the time, I use Termux to ssh into my Linux machine over my home network and code on it in Neovim from my couch.
I don't bother with the default notes app on my phone. Termux + Neovim running vimwiki and syncing to a private GitHub repo is way better.
Most stuff you want at the CLI is in the Termux package repository. On the occasions when it isn't, you can install clang, make, cmake, ninja, whatever libraries you need, and build it from source. At that point most stuff just works.
Termux is incredible and single-handedly keeps me running Android.
My usecase for Termux: most pictures get backed up properly into the home NAS, but the sync process sometimes skips a few [1] (which is exasperating, but here we are still not migrated to Immich).
So I have a python script in the NAS that calculates the MD5 checksum of every photo and video, and generates a shell script that, when executed on the phone, will calculate the MD5 on the local device, and delete if it is equal to the NAS.
The generated shell script gets sent to the phone, then I execute it from within a Termux window, pointing at the DCIM folder.
I can free up tens of GB of memories with reliability in the face of a misbehaving sync algorithm.
[1] https://help.nextcloud.com/t/auto-upload-is-skipping-random-...
One downside of Termux is the package management as described here [1].
Some set of very new phones have access to Android Linux Terminal [2]. It is similar to Windows Subsystem for Linux. Like WSL, Android Linux Terminal lets one use apt directly.
With how AI based dev is going, I'm guessing more and more people will discover and start using termux, tmux and the like.
Typing on a phone sucks, but at least modal modes (vim) and unexpected keyboard[1] makes it somewhat tolerable.
I use Termux to run SSH on demand, it's quite nice for rsync'ing files between my phone and desktop.
The on demand nature of it is a major selling point to me. When I open Termux and run SSH it's up, if I shut down Termux, SSH goes away with it. That and I can use rsync which is a tool I've been using for syncing files for a long time.
There's no need to run always-on tools like LocalSend or SyncThing, at least not for my use case. I have a little "sync" shell script on my desktop I can run to easily sync files "desktop TO phone" or "phone TO desktop".
I love termux. I can run my normal terminal environment - tmux, fish, just, git, zoxide, yazi etc. and build rust apps. With decent auto-complete/fuzzy-search, it's very ergonomic for only needing a couple of key presses to get things done. I'm impressed that TUI apps like yazi/nnn respond to touch. It's a very viable app platform for those inclined.
Out of curiosity, is there an equivalent on ios with that level of support?
Is Termux still needed, now that new Android phones have a full Linux available?
I keep reading on https://www.reddit.com/r/androidterminal/ about user experiences with it and it seems pretty great.
Best terminal emulator on Android, my day to day basis is note-taking (fzf, Neovim, Git) and SSH (when I'm too lazy to open up computer).
Also you can build some CLI or TUI using Go and compile using Android NDK and run it on Termux.
Since no one makes Android devices with hardware keyboards anymore, I almost never use this kind of software anymore. After getting burned by a couple of Kickstarter phones hampered by half-baked software and total lack of updates, the only thing I could rationally conclude is that Android as a productivity platform is a lost cause.
When Android was new, I very frequently used Termux and ConnectBot with my first few Motorola Droid phones. For a brief moment, I had a working phone with a great physical design only held back by an outdated chipset and being locked to Planet Computers' abandonware. I could touch-type at 80 WPM on an easily pocketable device! Termux shone there.
So many things about Android were not just more exciting in terms of potential when it was new, but actively better: wider variety of hardware, widely unlocked bootloaders, no remote attestation, etc. Termux sadly feels like a painful reminder of that to me.
Honest question, as a heavy desktop TUI user who has had Termux installed for years. A terminal (emulator) is a keyboard-based environment. How on earth are all you fans making it work with a tiny touchscreen?
I mainly use it as an ssh client and run network tools like ping etc. It is on the list of must haves I install on a new device.
I just hope against hope that Google doesn't limit its functionality further and point us towards the new terminal app in the name of security.
Important to note that termux, while it was always great and indispensable, is getting increasingly interesting now because android is getting full desktop mode at the same time as XR glasses (xreal, viture etc.) are becoming mainstream. You can have a linux desktop in your pocket everywhere without rooting, hacking or tinkering, just install termux and x11 server. While not all packages work, llms are increasingly powerful, just an example porting deskflow from a debian package to termux took about 4 hours max, something i would not even have had an idea how to start just 4 months ago.
Termux is also an excellent solution for downloading videos from YouTube and similar sites, due to the fact that yt-dlp works really well (and using mobile data makes it easier to avoid IP bans, most of the time anyway).
Adding to the many other great uses of termux already here, the most useful lately for me is running Syncthing. After the "drama" with the Syncthing android client (my understanding: official development stopped due to onerous requirements from the Google, then the most popular fork was transferred to a new owner in a less-than-fully-trustworthy manner), being able to just run syncthing from the command line is a breath of fresh air.
I highly recommend using Unexpected Keyboard along with termux (a recommendation I myself almost certainly got from HN).
Galaxy Tab S11, in DeX Mode, with the Book Cover Keyboard Slim, running Termux and Tailscale is a great companion device to ssh to any system on my tailnet so I can do real work on the road. So good. I donate monthly to Termux, you should too. :)
An experiment of using Python Textual to implement a phone app intended to run in Termux:
I use Termux to host my 11/780 VAX/VMS system on my cheap ass Motorola phone, thanks to SimH.
Beware of one thing, though... if you upgrade Termux, or remove/reinstall, you lose everything inside that "linux" system. I lost my first VAX setup that way. 8(
Termux has saved me countless times over the years.. One of the most powerful apps on my phone, that's come through whether I needed a quick SSH session to put out a fire or to get some real work done on the go.
Does anyone know of an X server or Wayland compositor app for Android that gives each window its own Android window (or whatever they're called on Android)? IMO that'd mix perfectly with Termux for GUI apps.
Yes, I know Termux-X11 exists but that app is a single Android window (again, I'm not sure if that's the right term) for all X windows. I'm wondering if there's an app that creates an Android window for each X window.
Sooooo underrated Incredibly handy when you're away from your machine
Everyone posting seems to love this. Can folks provide some of their use-cases?
I've tried Termux but use the old irssiconnectbot (https://github.com/irssiconnectbot/irssiconnectbot) but with slight modifications over the years since its open source... along with an also modified hackerkeyboard (https://github.com/klausw/hackerskeyboard) to support my workflow which is heavy on emacs and GNU Screen.
The colors/graphics seem to be better on irssi and can also handle all the emacs and gnu screen keyboard chords and escape sequences.
I try every android terminal but nobody is really thinking about running more than simple commands.
I also really like Termux. When I was developing https://github.com/nuwainfo/ffl (a tool similar to croc, but the receiver uses a browser and doesn't need to install anything), it was because I wanted an easy way to get things off my phone. I actually packaged ffl—which is pure Python—into an APE just to make it compatible with Termux. Although many people here use ssh, rsync, or solutions like copyparty, I prefer my own minimalist solution: just one binary to transfer whatever I want. Anyway, Termux is cool.
Use it all the time.
I've got a wireguard setup from phone or tablet to my workstation. Using mosh with zellij and I can do all the development I want. Whether it is restarting a machine, or actually writing code, using claude code etc. It works really well
I use it for lots of stuff, remote scanning from an old Canon flatbed scanner attached to my NAS (powered by a really ugly phone-local bash script, nothing else), rsync, renames (or the like using one liners), ssh tunnels to different destinations (to circumvent IP blockages) and of course YT downloads (using the source git folder and running it using "python -m yt_dlp $OPTIONS $URL" - when it breaks, a git pull is all it needs most of the time, I also have local patches that are not upstreamed)
I have been using Termux to SSH to other machines for quite some time, but only relatively recently did I have a flash of insight: I can use Termux to write applications for my phone in Perl (!).
A year ago I used it to solve Advent of Code problems on my phone during my work commute. It was lovely. I have also used it to get access to a resampling calculator and a mental logarithm trainer on my phone.
It even runs Fresh so you can have a mini VSCode-like experience on your phone (pkg update && pkg install fresh-editor)
You can now run Docker images in Termux with Udocker/proot[0], the disk IO can be a bottleneck for large databases when using proot.
Tailscale works with "--tun=userspace-networking" [1].
I had it running on an old phone as a Frigate server with a solar powerbank in remote area, using the 4G as a failover. The uptime is almost a week without solar. Attiny hooked to the power button and a photodiode on the phone flash [2] (blink per minute) used as a watchdog for shutdowns/hangs to hardware reset. The button cap is removed without disassembling the phone.
Old phones are still more efficient than most off the shelf SBCs, especially under load. ~3W compared to 12W with a Pi5 in the same performance ballpark.
[0]: https://github.com/George-Seven/Termux-Udocker https://github.com/indigo-dc/udocker
I discovered it 1 week ago.
I don't know why I never tried this in the past! SSHing my machine and vice-versa!
Just figured out that I could use my computer's terminal to send to my android's clipboard via SSH.
Pair it with Tailscale and we have a beast!
I have webserver in Termux which is viewed in a watch.
Kinda difficult to explain. But Copilot says:
Provide a single-line weather summary (temperature, wind direction name + degrees, wind speed, symbol text) for use elsewhere (repo name suggests it’s for a clock/display).
Another nifty utility to use in tandem is scrcpy[0].
Inside or outside of Termux, it allows you to interact with your android device in general from the comfort of your main computer/laptop over ADB.
It becomes a super multiplier for Termux when I don't want to deal with the hassle of connecting a separate keyboard to my android phone/tablet.
(A heads up, I have to use the `--render-driver=software` switch in order for scrcpy to work at all on my laptop.)
Termux and I have a love-hate relationship. Is my go-to app in my ARM based chromebook. Yet I am forced to upgrade the package manager to install git and other tools and once the package manager upgrades.. SSL library breaks. So you get ONE CHANCE to install your packages before SSL gets upgraded and bam! No more installations for you. I go to the usual places to look for fixes and it's like yeah yeah yeah. Try this.. tried? Still broken, beats me.
That's what I get for sticking with 32 bit ARM chromebook. Lightning fast. Great battery. Old OS.
What's the difference between this and Termius, especially for those who are just ssh'ing into their home machines?
Fwiw termux + rsync for android phone backup (eg rsync /storage/emulated/0/) will grab most things.
Termux is great - one of the ways I use it is to install the golang toolchain and compile/run connet.
I use Termux for my OTP implemented in a bash script, I trust oathtool more than an app.
There’s an app called Termux in the iOS App Store, but I’m guessing it’s not the same thing?
Enjoy it while it lasts, folks. Android has since implemented restrictions on which binaries may be run from an installed app; any spawned processes must also come from binaries installed from Google Play.
Termux is currently grandfathered in because it's still built against the last API version not to have these restrictions (28?). But it's only a matter of time before that version starts throwing "This app was built for an old version of Android and may not work properly on new devices" errors and then, stop working altogether...
“Extendible” —> extensible, I believe
I use it to run Julia on my phone: https://lee-phillips.org/juliaOnPhone.jpg
Imagine Termux with a "VPN mode" so that privileged ports could be forwarded
the best thing ive ever downloaded on a phone
I forget about how many Android only Apps I've used through the years. Emulators, fdroid, pulse wave generator(not sure if iphone has it, but they don't have aux ports anymore), termux, probably more... I don't think about it.
That all said, I've heard news about Android getting degraded by Google to be more like Apple. Hope its rumors, but at least I had a good decade+.
[dead]
Being able to use openclaw or github copilot remotely through ssh would be nice. I think there should be a dedicated interface though, typing into termux using on-screen keyboard is a real pain.
One of my favorite piece of software was made by the guy with Termux on his phone [0], absolute insane https://github.com/9001/copyparty
0, https://www.youtube.com/watch?v=15_-hgsX2V0&t=885s