Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A bit of offtopic, but what do you use termux for on your Android phones?

I use it to run my restic backup script to backup my phone data, it's a bit barebones but seems to work.

I find it cool to have a shell on my phone, to be able to launch vim (but definitely not use it with the onscreen keyboard, lol)... was wondering what others are up to!



- testing short code in various repls

- using qalculate! for complex calculation (think physical constants, unit mixing, trig), currency and unit conversion, simple symbolics

- ffmpeg. i have aliases for video compression, stripping audio, etc

- converting between file formats, imagemagick and pandoc

- untarring files, encrypting files, batch renaming

- sending files somewhere else via scp

- remote controlling computers

- it's possible to set up a vnc server and a full gui desktop environment, for a highly portable system that gets you the same program and file setup on any computer supporting a vnc client.

Once you build up a collection of aliases / shell functions it can be very powerful even with a small virtual keyboard. The fish shell is also a great qol addition.


How do you get ffmpeg and other goodies you mentioned? Is there some software repo termux maintains? Is downloading software that way reasonably "safe"? I've used Termux before but never considered these things...


Termux has an open source repository of packages. It's similar to arch, debian, alpine, etc. https://github.com/termux/termux-packages

Termux doesn't get special privileges unless you root your device. It can't go messing with your phone data unless you granted it permission to do so (but even then it doesn't have access to everything). It's no worse than any other Android app IMHO.


`pkg install ffmpeg`

It's a thin wrapper around apt for whatever reason. Quite a lot of software packages are distributed by/for termux!


There are number of different places to get this info. I use Termux with yt-dlp and decode to MP4 or extract audio only which requires ffmpeg and it works fine if a little slow. I decoded a 300 GB twitch stream that after downloading took about 20 mins to complete the decode (encode?) to mp4 on my Pixel6. But it works perfectly.

e.g see https://gist.github.com/cyrillkuettel/d63785cf5f4c00106ae215... for example.


Pixel6 "only" has 256Gb storage, how did you download 300Gb?


pipe yt-dlp into ffmpeg, set encoding setting such that it produces an output file small enough to fit onto storage or external storage


Can't you just download the lower-res video using yt-dlp, or isn't that a thing on twitch?


What do you use for encrypting files and batch renaming on termux?

> Once you build up a collection of aliases / shell functions

Could you share yours possibly?


When we are on holidays, I like to chill on the beach and learn new programming languages, practice algorithms, reading books and taking notes with markdown and syncing these notes with git.

I don't want to take my MacBook because it's too expensive and the sand and water can get into the keyboard. Leaving it on the sun for hours is also a bad idea.

I took my wife's relatively old Android tablet (at least 5 yo), connected one of my cheaper Bluetooth keyboard. Then installed a terminal, git, vim, rust, dart. This setup lets me practice a little bit, I don't need to worry about stuff getting stolen (first, because it's not something people steal, and even if they did, I wouldn't really mind as the whole setup is less than 100 dollars).


> what do you use termux for on your Android phones?

When I go on vacation, I bring my Android / Termux equipped phone to have access to cloud VMs I manage in case of an emergency. I verify my .ssh/config is in order before I leave. I have an external Bluetooth keyboard and a surprisingly full-fledged emacs in Termux. This solution has come in handy a number of times, and I am always impressed by how well it works.


When I was a volunteer sysadmin, I sometimes used Termux to ssh into the servers I managed. More than once I triaged an incident from the same phone that paged me about it, while I was on a bus or train commuting to my day job.

mosh[1] was especially useful for this over mobile data.

[1]: https://mosh.org/


I've also used mosh on termux with a small travel keyboard a number of times to investigate/fix outages while traveling. It's been a life saver!


I've had three main use cases:

1. Running an HTTP server in a directory, so people can connect to my hotspot and get a listing of the files. (I've done this twice, for sharing movies.) This is easy enough to do with `python -m http.server 12345`, and this lets you get a file on nearly any single device with a webbrowser in it.

2. SSHing into my various servers, or getting a file off my home machine that I forgot that I need.

3. Python is a general-purpose calculator for me, so I primarily use Termux instead of a calculator app.


I have to concur with #1 primarily. I do this all the time.

#2 and #3 I do less frequently myself, but I use qalc instead of Python for a calculator (handles units and algebra).


You can use the BSD-licensed "Share via HTTP" app that does the same thing but interacts nicely with Android share menu.

https://f-droid.org/en/packages/com.MarcosDiez.shareviahttp/


I was once upon a time plumbing together an ARM matrix multiply backend for an on-device neural machine translation engine.

The objective was to get something working for the Mac M1 (which none of us had at the time). So I'd just cross-compile targeting my android phone, download built binary using wget on tmux and then run it to test if it's working. I remember I could build just the matrix multiply library locally on termux as well (after getting cmake and build-essentials via `pkg`).


I run Termux on an Onyx Boox Leaf (e-ink reader). As well as using Onyx for ebooks, I keep 10 years worth of notes in markdown txt files that I edit in Vim & sync with git.


I use Termux to ssh to my home system and access my Emacs session and also various shell stuff. I do my email, chat, notetaking and everyday Emacs things this way. I access this same Emacs session from my desktop, laptop and phone.

Been doing this since the Treo 650 days (pssh) and then Connectbot and nowadays Termux on Android. I always use phones with a physical keyboard, must have had a dozen different ones over the decades.

A big advantage of this workflow is consistency. For example chat systems come and go, each with their own wacky UI. But for me they are all IRC buffers in my Emacs session, configured just the way I wanted it.


I tried doing this in the past on an Android tablet, and was unable to get the caps lock switched with the ctrl key. Any suggestions on making this work, or do you do without?


Do you mean with a BT keyboard attached to the tablet? One approach is to use keymapper:

market: https://play.google.com/store/apps/details?id=io.github.sds1...

github: https://github.com/keymapperorg/KeyMapper

fdroid: https://f-droid.org/packages/io.github.sds100.keymapper/

It's a very versatile tool, can be handy even if you don't have a keyboard. It is also possible to use custom keyboard layouts but I don't have a link handy for that.


Yes, on a bluetooth keyboard. I downloaded something similar to keymapper back in the day, the only paid app that I've purchased for android, and even it wasn't able to get any bluetooth keyboards to play nicely.

I'll try this out. Thanks again.


I run a very crude shell-based scanning app (termux has an option to add shell scripts as "apps" on the homescreen), amongst others.

termux supports native GUI dialogues (input/checkboxes), and the scan-shellscript uses that for input (name, greyscale/color, jpg/pdf output and number of pages for pdf) then launches a couple of remote scanimage + ocr postproc + pdf generation commands and transfers + opens that in the local pdf app


Personally I use it for youtube-dl / yt-dlp. Being able to grab most media to watch offline from anywhere is great.


Powertube [0] is a great app for this

[0] https://github.com/razar-dev/PowerTube


Thank you. I've been looking for anything like this for ages.

Apparently another alternative is

https://github.com/yausername/dvd

And this one is on fdroid.

DVD seems to work on more sites with more format options. The inference is super clunky though.


why dont you use newpipe/libretube as it has download built right in?


youtube-dl works for a lot more sites than just YT.

Also: if you use the git sources you can do a quick "git pull" in case there were breaking changes and restart the download. ytdl is written in python, you can launch it via python -m "module name" within the src folder

You can also use different forks of ytdl or run multiple downloads in parallel


youtube-dl / yt-dlp supports more than YouTube, and I have my config file all set up the way I want to embed subtitles, etc in the downloaded file.


Newpipe is exceptionally buggy and unstable in my experience. yt-dlp always works vs. newpipe just randomly stops downloading anything until the phone is reset.


been using newpipe exclusively for like 3 years now, have managed to switch everyone at home on it too....

it crashes every often when google messes something but other than that, it is smooth sailing. you should send crash logs to the team


Newpipe rocks and those guys are doing an awesome job. The problem is that google changes stuff upstream an once every 3 months you need to upgrade your newpipe to account for those changes. But please, lets not bash the work of people that do it altruistically


You might find this interesting.

https://dentex.github.io/

No bloat. No ads. Does the job fine.


You can use Brave browser and add those videos to your playlist. It saves them offline for later use!

Brave also blocks ads on YT, which is great :)


how?

Is there a tutorial online?

My brave browser doesn't seem to have the option to do that.


I have termux installed to quickly run `ip neigh` to find the IP addresses of devices connected to the hotspot - unfortunately my version of Android doesn't have this feature built in.

This is especially useful when you have multiple Pis connected and need to know the IP address to ssh to.


Are you on a rooted phone?

    ~ $ ip neigh
    Cannot bind netlink socket: Permission denied
Pixel 6 Pro Android 13


You can use this without root by using the rish provided by [Shizuku](https://play.google.com/store/apps/details?id=moe.shizuku.pr...), because it only need adb shell permission for this.


Works on my not rooted Samsung, Android 12.


I was using it to run YouTube-dl to save or backup online video (not just from YouTube; it can also effectively rip video from sites that are annoying like Reddit and Twitter.) until I found dvd on F-Droid, which is a nice UI for that.

Now I mostly use it to ssh. But it is surprisingly powerful, and occasionally you find a new use case that makes it worth having a generic Linux shell.


Very primitively - I run ping in a loop when there are network issues on the phone.

PS: Oh, and once I was ssh'ing into an embedded device in a lab, while standing next to it and fiddling with wires. I could have brought a laptop, but it's a big hassle - VPN goes down, wifi network may be misbehaving, all windows are moved to the laptop screen etc.


I use it to run an ssh server on the phone, which then allows me to copy files to/from my computer with zero fuss.


I used it mainly to communicate with my local services on Android, It's excellent but I have moved on to a Linux phone and so I have little use for Termux anymore.

But here's a security researcher from Zambia using only Termux for his development[1] and research as he couldn't afford a computer. I'm sure there are plenty more like him in developing economies, Where using smartphone for general purpose computing is not just a lifestyle but a necessity for livelihood.

So I really appreciate Termux for catering to those who might be still running older android versions.

[1] https://twitter.com/cyb3rops/status/1548961346104053764


I use it termux mainly to ssh to a server but also to ssh from my laptop to the phone by running sshd inside termux. By using scp and with the right ssh host config and authorized_keys I can send and receive files across devices, really useful when devices are on the same VPN but not on the same network.

I also use Termux:Widget [1] to launch scripts. For example, I have added all my contacts to abook [2], and with a bash script that use fzf I can filter my contacts and it automatically get the contact gps field and automatically start the navigation.

[1]https://github.com/termux/termux-widget

[2] https://abook.sourceforge.io/


I switched to UserLAnd a while back, but I mainly use it when I want to try something quickly in code and I can't SSH into my laptop.

For a while I also played around with having my Android phone as an SSH server and connecting to it from my iPad for a lightweight portable coding setup.


IRC! termux widget with a shortcut to a command running mosh and screen -rd. One click IRC access


I installed git, compilers/interpreters for all languages I use and synced my personal git repos in Termux on an old 7" tablet. Combined with Wireguard, it's a cramped,slower version of my home workstation, if I need more speed, I can also Wake-on-LAN and ssh into my home workstation.

As for what I use for: it's an on-the-go computer I use to kill time anytime I'm waiting/bored, i.e. a lazy man's "cyberdeck". I've had fantasies of busting it out in an emergency and saving the day, but it has only been mundane code changes so far :(


I use it for nearly the same thing. It seems to me like the best solution to back up to rsync.net. Other tools that claimed to support rsync, like FolderSync, didn't actually work. It also helps that termux can avoid cron and instead uses termux-job-scheduler to get around power saving issues.[1]

[1] https://github.com/termux/termux-app/issues/2015


I love this tool. Use it for emacs and I've written a few c++ programs that help me take quick notes on my phone via the shell. For example, if someone suggests I should listen to this or that album/movie/whatever, I note it down and let my mini program throw it into a file that gets sent to my server. It's like a ghetto cloud service :)


from termux I use mosh (and wireguard) to attach to a tmux session at home, how the latest build is doing and give it a nudge if it makes sense. Helps to leave the house for good weather and worry about failing builds later. Even with on-screen keyboard tmux can be handled, though I bought a little bluetooth keyboard


Many times I would download interesting videos, pictures etc. and scp them into my TV. My TV setup is a smart TV which has been un-smarted by never connecting to the internet but it is connected to a linux computer via HDMI. So when I need to send any files to the computer I use scp from termux.


Not exactly a phone, but I use it on my Android tablet (having a proper keyboard) to SSH into my server for coding. On my phone I used to use it to remotely reboot services on my server during a period when they seemed to be randomly crashing.


I used to have git annex in termux to sync files according to their metadata, but without a Bluetooth or USB keyboard I found if far too slow and annoying to use the shell as a normal shell and wrote a dialog based menu system.


To transfer gigabytes of music to my phone with rsync over wifi. Why: 1. You can start again if interrupted. 2. From MacOS to Android, I didn't find a drag-and-drop way of doing it


I use it to connect to my PCs when I'm away from my laptop (I can check my email, run commands, connect to various customers through VPNs etc).


Out of curiosity, why do you need termux for that?


Well I need a terminal emulator, and Termux is pretty good, and behaves predictably like a normal term window. And it's open source and can be installed with F-Droid which I prefer.


Working through sicp in my spare moments.


Used to program on an old tablet which had an insane battery life (for the time). Good for long flights.


But Termux can't access sd card. Only the phone built-in storage.

That limits what I can backup.


I did manage to access my external sdcard rw. Without rooting. Just cd to /storage/<your sdcard id>. It might work...


Thanks Google for the artificial restrictions.


yes you can, read the manuals :)


Quick SSH sessions mostly.


Nothing, I embrace Android as it was designed for with its Java based userspace.


clang




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: