Android Apps, September 2021

Termux, a Linux Environment on Android

Termux is a terminal emulator that provides a working Linux userland on Android without requiring root access. The installation begins as a minimal base system and is extended through its own package manager.

The distinction from other terminal applications is that this is a genuine environment rather than a shell with a fixed set of commands compiled in. Packages are installed on demand, so a device can acquire compilers, interpreters, editors, version control, and network tooling as they are needed, and the software being run is the actual software rather than a reimplementation. That it works without root is the significant engineering, since it operates within the application sandbox using the storage and permissions Android grants an ordinary application, which is why it neither compromises the device nor requires an unlocked bootloader. The practical consequence is that a phone becomes usable for the class of work that is text and network based, so editing a configuration file, running a script, connecting to a remote host, or querying an interface is possible from a device already in your pocket. Storage access to the wider filesystem requires an explicit permission grant and remains constrained by the same rules that apply to every other application.

The sandbox is also the limit, since it is not a virtual machine and cannot do anything the operating system forbids an application from doing. A phone keyboard remains a phone keyboard, which caps how much sustained work is realistic regardless of how capable the environment is.

Link: Termux on Google Play