Termux es un emulador de terminal para dispositivos Android y una aplicación en Linux que funciona directamente sin necesidad de acceso root o configuración especial.
En Termux hay paquetes adicionales disponibles mediante el administrador de paquetes APT. El objetivo principal del desarrollador es llevar la experiencia de la línea de comandos de Linux a los usuarios de dispositivos móviles sin demasiados dolores de cabeza y Termux está enriquecido con un gran conjunto de utilidades.
En Termux todos los paquetes incluidos se compilan con Android NDK y solo tienen correcciones de compatibilidad para que funcionen en Android.
El sistema operativo no proporciona acceso completo a sus sistemas de archivos, por lo que Termux no puede instalar archivos de paquetes en directorios estándar como /bin, /etc, /usr o /var. En cambio, todos los archivos se instalan en el directorio privado de la aplicación ubicado en «/data/data/com.termux/files/usr».
Para simplificar las cosas, este directorio ha sido renombrado como «prefix» y normalmente es por «$PREFIX», que también es una variable de entorno exportada al shell de Termux.
Dicho esto, el desarrollador advierte que este directorio no se puede cambiar ni mover a una tarjeta SD por dos razones principales.
En primer lugar, el sistema de archivos debe admitir permisos Unix y archivos especiales como enlaces simbólicos o sockets y en segundo lugar, la ruta al directorio «prefix» está codificada en todos los binarios.
Estas son algunas de las características y funcionalidades principales citadas por el autor de Termux:
- Seguro: puede acceder a servidores remotos utilizando el cliente ssh OpenSSH. Termux combina paquetes estándar con una emulación de terminal precisa en una atractiva solución de código abierto.
- Funciones integradas: tiene la opción de usar Bash, fish o Zsh y nano, Emacs o Vim; ingresar SMS en su bandeja de entrada, accedar a terminales API con curl y utilizar rsync para almacenar copias de seguridad de la lista de contactos en un servidor remoto.
- Personalizable: se pueden instalar una gran cantidad de paquetes al sistema con ayuda de la gestión de paquetes APT conocido de Debian y Ubuntu.
- Explorable: los paquetes disponibles en Termux son los mismos que los de Mac y Linux. Se pueden instalar las páginas de manual en el teléfono y leerlas en una sesión mientras experimenta con ellas en otra.
- Pilas incluidas: Termux incluyó versiones actualizadas de Perl, Python, Ruby y Node.js.
- Escalado: se puede conectar un teclado bluetooth y conectar un dispositivo a una pantalla externa si es necesario, Termux admite atajos de teclado y tiene soporte completo para mouse.
Aparte del sistema de archivos, existen otras diferencias con las distribuciones tradicionales de Linux, por lo que no se debe confundir a Termux con una distribucion. De hecho, aunque proporciona un ecosistema de paquetes similar a las distribuciones de Linux, deben saber que Termux es solo una aplicación normal que se ejecuta en Android.
1. Todo está instalado en $ PREFIX y no en directorios estándar como /bin o /etc.
2. El entorno es de un solo usuario, con lo cual se debe tener cuidado con esto cuando se ejecutan comandos como root, ya que puede estropear los permisos y etiquetas de SELinux (Security-Enhanced Linux).
3. Termux usa la misma libc (biblioteca de lenguaje C estándar) y el mismo enlazador dinámico que el sistema operativo Android. Según el sitio web de Termux, estas 3 diferencias principales causan problemas al intentar ejecutar programas que han sido compilados para un sistema GNU/Linux típico.
Finalmente, la página de GitHub de Termux señala que el emulador no apunta actualmente a Android 10 (API 29) debido a una serie de cambios realizados por esta versión del sistema operativo.