Remix.run Logo
cfiggers 9 hours ago

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.

firecall 9 hours ago | parent | next [-]

What keyboard case do you use?

My android phone is a Pixel 8 and that sounds cool :-)

cfiggers 4 hours ago | parent [-]

I actually have like, four different ones... :^))) I'm a bit of a keyboard fiend.

The main one I use with my Android tablet specifically is a no-name brand, knock-off "magic keyboard"-style folio case that I got on AliExpress for like, 45 USD. I ordered the English layout, I received the Spanish one (which is mostly the same but had additional legends for Spanish characters). Le sigh. It's AliExpress, I didn't bother contacting support.

For my phone, I have a really old Zagg one that was originally for an iPad. The iPad has long since died but the keyboard lives on. Woo!

The main keyboard I type on all day at my desk is a Logitech Pebble K380s. It can store three different connection profiles, which can be either Bluetooth or Logi unified receiver. So I have one of those profiles set to connect to my Pixel 8 via Bluetooth (typing from that now). Makes toggling back and forth between that and my desktop very smooth.

On a "real keyboard" (like this K380s) there's a dedicated Esc key. Most tablet folio cases don't have Esc. I found an app called "External Keyboard Helper Pro" that lets me rebind Caps Lock to Esc. That makes Neovim much more pleasant.

cromka 6 minutes ago | parent | next [-]

Ali support is actually quite good nowadays in my experience, I haven't had a single frustration with them in quite a while.

firecall 16 minutes ago | parent | prev [-]

Thanks for the info!

mbreese 3 hours ago | parent | prev | next [-]

Not to get into an iOS vs Android thing, because that’s not the point (it’s okay to appreciate both or neither, you do you).

But this is one of the things I really would love to have on my iPhone that I’m jealous of the Android ecosystem for. I know there are alternatives for iOS and I’ve used them (no need to list them here, this thread isn’t about iOS). For me, a really good terminal/CLI with good integration with the OS would be killer. But I know I’m niche and unlikely to see such a thing outside of SSHing to a remote VM.

harvie 8 hours ago | parent | prev [-]

I beleive Android 16 now comes with termux-like Linux environment that can be enabled via developer settings menu.

push0ret 7 hours ago | parent | next [-]

Big difference! That's a full VM, while Termux is more like a Debian container. For most use cases you will have a better time with Termux, which also ships useful Android integrations such as clipboard and notifications.

functionmouse 7 hours ago | parent | prev | next [-]

Yeah but it sucks. There's a button in its settings to install a Debian chroot environment; gave it a go and it bricked itself, had to clear the app's storage and factory reset it.

NoGravitas 7 hours ago | parent | next [-]

Yeah, I can always use the Android Terminal once. If I re-open it, it says it's corrupted, and has to delete and re-install its minimal Debian environment.

getpokedagain 7 hours ago | parent | prev | next [-]

Add to this list that it tends to not work while connected via a VPN. Not sure why but this makes me very skeptical of it.

JoshTriplett 5 hours ago | parent | next [-]

Probably because their handling of VM networking isn't very robust.

functionmouse 6 hours ago | parent | prev [-]

that's sketch city. Why does it care? What are they looking for?

gf000 7 hours ago | parent | prev [-]

A bug in a not even beta program makes it 'suck'?

Antibabelic 7 hours ago | parent | next [-]

I don't understand this comment. Yes, absolutely. Alpha versions of software absolutely suck. The end goal is making it not suck, but if it's full of breaking bugs your can't just say it doesn't suck just because they're expected.

yjftsjthsd-h 7 hours ago | parent | prev [-]

If it's not even a beta, then it can hardly be replacement for termux.

fmajid 8 hours ago | parent | prev | next [-]

It's extremely flaky and unreliable, however:

https://social-cdn.vivaldi.net/system/media_attachments/file...

Aachen 8 hours ago | parent | prev | next [-]

(it's unreliable, see second edit)

Does it? I've looked at it only briefly (like enabled it, waited a while for it to download something big, then got a basic shell) but it seemed much less capable than Termux. Can you get cell tower info or copy to clipboard for example, or use other Android APIs?

Edit: looked into it a bit more, /etc/issue says it's a Debian 13 (latest stable), apt works with sudo (this is a locked-down device where I don't have root permission on, why does it need a fake sudo to use apt?) but of course programs like wavemon are useless because Android doesn't let you access the WiFi interface. There's no settings besides port forwarding and resetting the "partition". I don't see any documentation or info on how/whether you can interface with the rest of the system in any way. Looking on the web for Android terminal or "Linux developer environment" (as the system settings calls it) is predictably useless and only results in Google's unrelated Android SDK or other terminal emulator apps

Edit 2: okay, beware of it: I was curious if the same "you can't make the OS not kill your script" problem also happened in this OS terminal and.. it's worse. So I ran `while true; do date >> latest.txt; sleep 10; done` to see how long it'd stay alive and then did some other tasks like turning the screen off and on, opening a navigation app and zooming into a dense city, and loading a few websites. Locked the screen once more for good measure and then unlocked and opened the terminal. Guess what? It's broken. Not just crashed: I simply cannot start it anymore. The only "error handling" (Fehlerbehebung it says) step it offers is to delete all data and start with a clean system. The stack trace says there's a nullpointer in TerminalWebViewClient, with the next line being in Trichrome. It's a web browser apparently

yjftsjthsd-h 7 hours ago | parent | next [-]

> apt works with sudo (this is a locked-down device where I don't have root permission on, why does it need a fake sudo to use apt?)

It's a VM running normal Debian. Inside the VM, you do have root, and that sudo isn't fake.

jsight 7 hours ago | parent | prev [-]

YMMV, but I've had pretty good luck with just force closing it and launching again when getting errors like that. It doesn't necessarily mean the whole environment is corrupt, even though that is the recovery option that is presented.

It is very unreliable though. I hope Android 17 improves it, as other than the restart issues, I've generally found it to be very functional.

kreddor 3 hours ago | parent | prev | next [-]

Even if you have Android 16 it's not guaranteed the terminal works. It's disabled by Samsung on my Galaxy A55 for some reason. Maybe the hardware doesn't support the feature.

cess11 8 hours ago | parent | prev | next [-]

Even more reason to keep supporting Termux.

JoshTriplett 4 hours ago | parent | prev | next [-]

I'm really looking forward to that being more usable, but it isn't quite there yet. The GUI especially.

prettyblocks 4 hours ago | parent | prev [-]

Yes, it's good, but it doesn't have access to any sensor apis.