Tabla de Contenidos

Termux

Emulador de terminal de Android y entorno Linux. Termux no requiere que el dispositivo esté rooteado, de hecho, está orientado a usuarios que no son root.

Las notas recogidas en esta página se centran en la versión 0.118.2 de Termux.

Casos de uso

Instalación

Aunque Termux está también disponible en la Play store de Google, los desarrolladores recomiendan instalarlo desde F-Droid. El “inconveniente” de instalarlo fuera de la tienda de Google es que no pasa las políticas de seguridad y nos saldrá una advertencia.

Estructura de directorios

Termux no sigue el estándar FHS, así que no nos encontraremos directorios como /bin, /etc, /usr, /tmp

En Termux todo “empieza” en el directorio /data/data/com.termux/files/. Por ejemplo, la carpeta de usuario está situada en /data/data/com.termux/files/home; las aplicaciones que instalemos irán a data/data/com.termux/files/usr. Estos dos directorios están guardados en las siguientes variables de entorno:

Desde Material Files, entre otros, podemos acceder al directorio personal de Termux ($HOME).

Uso del teclado

Las combinaciones que queramos usar en Termux que tengan que ver con la tecla Ctrl está asociada al botón de bajar el volumen, de tal manera que si queremos pulsar la combinación Ctrl + Ctrl, pulsaríamos el botón de bajar el volumen y, sin soltarlo, la tecla Ctrl en el teclado de Termux.

También existen atajos asociados a la tecla de subir el volumen:

Gestión de paquetes

Podemos instalar y desinstalar aplicaciones utilizando el comando pkg o apt. Realmente, apk es un wrapper de apt. Podemos ver el contenido el script:

cat /data/data/com.termux/files/usr/bin/pkg

Instalar

pkg install vim

Versión más breve y contestando sí por defecto:

pkg in vim -y

Desinstalar

pkg uninstall vim

Actualizar repositorios

pkg update

Versión abreviada:

pkg up

Actualizar aplicaciones instaladas

pkg upgrade

Ajustar el tamaño del texto

Podemos aumentar o disminuir el tamaño del texto haciendo zoom usando dos dedos como en cualquier otra aplicación.

Si mantenemos pulsado en cualquier parte de la pantalla, se mostrará un menú contextual que nos permitirá realizar varias acciones:

Cajón de navegación

Si deslizamos desde el lateral izquierdo de la pantalla se mostrará un menú que:

Mientras está en ejecución Termux, tendremos una notificación de Android. Desde esa notificación podremos cerrar todas las sesiones abiertas (y salir de Termux) o pulsar en Acquire wakelock para evitar que Termux quede suspendido. Esto es necesario si ejecutamos algún programa que esté en ejecución bastante tiempo y no queremos que se detenga cuando la pantalla está apagada.

También podemos lograr la misma funcionalidad de wake lock con los comandos:

Conexión vía SSH al terminal con Termux

Instalación de los paquetes necesarios:

pkg install openssh

Iniciar el servidor SSH en Android:

sshd

Establecemos una contraseña para el usuario actual (necesario para conectarnos por SSH hasta que establezcamos la comunicación con el intercambio de claves):

passwd

El usuario de Termux lo podemos saber con whoami.

El servidor SSH de Termux escucha por defecto por el puerto 8022, así que para conectarnos desde otro equipo:

ssh -p 8022 u0_aXXX@ip.terminal.termux

Podemos conocer la IP del terminal Android ejecutando en Termux el comando ifconfig | grep inet

Conexión mediante claves

Para que no tengamos que introducir la contraseña.

En el equipo donde ejecutaremos el cliente SSH, ejecutamos:

ssh-keygen -t rsa

Se habrán creado las claves en el directorio por defecto ~/.ssh/.

Copiamos la clave pública al terminal Android donde está instalado tiene Termux:

ssh-copy-id -p 8022 u0_aXX@ip.android

A partir de entonces, podemos conectarnos directamente sin suministrar la contraseña:

ssh -p 8022 u0_aXX@ip.terminal.termux

Sincronización de ficheros

Requiere haber instalado SSH previamente.

Instalamos rsync en Termux:

pkg install rsync

rsync también tiene que estar instalado en el equipo de destino

Si queremos sincronizar el “carrete” de la cámara del terminal Android:

rsync -avP $HOME/storage/dcim/Camera/ usuario@equipo.remoto:/directorio/de/destino/

Si quisiéramos hacer al revés, es decir, sincronizar desde un equipo Linux hacia el dispositivo con Termux:

rsync -avz -e 'ssh -p 8022' usuario@ip_android:/ruta/en_android/ ~/local_folder/

Servidor web con Python para compartir ficheros

Si queremos compartir fácilmente algún fichero vía WiFi, podemos valernos de Python y el módulo http.server.

Instalamos Python en Termux:

pkg python

La instalación de Python supone más de 600 MB de espacio ocupado. Tenlo en cuenta si no dispones de demasiado espacio libre en el dispositivo.

Nos movemos al directorio que tiene ficheros a compartir y ejecutamos un servidor web:

python -m http.server 8080

Desde ese momento, podremos acceder con un navegador web a http://ip.android:8080 y veremos un listado de ficheros.

Compartir con netcat

Método rápido para redes locales confiables utilizando Netcat:

En el equipo Linux, lanzamos netcat en modo escucha (-l) por el puerto 1234:

nc -l -p 1234 > archivo_recibido

En Termux, instalamos netcat con pkg install netcat-openbsd

En Termux, envíamos el archivo al equipo con Linux mediante el puerto 1234:

nc ip_linux 1234 < /ruta/al/archivo

Acceso al almacenamiento compartido de Android

Para tener acceso al almacenamiento compartido (/sdcard o /storage/emulated/0), Termux necesita permiso de acceso de almacenamiento. Para ello, debemos ejecutar el comando termux-setup-storage. Esto abrirá en el terminal Android la solicitud de acceso a todos los archivos. Seleccionamos Termux para que obtenga dichos permisos.

Desde ese momento, se habrá creado un directorio llamada storage en el directorio personal del usuario. Dentro de dicho directorio, veremos otros:

Limpieza

Encontrar los 10 directorios y archivos que más ocupan en Termux:

du -ha /data/data/com.termux/files | sort -k1hr | head -n 10

Termux:API

Termux:API es un añadido para Termux que expone funcionalidades del dispositivo como una API para programas en línea de comandos.

Es necesario instalar el paquete termux-api en Termux para que funcione:

pkg install termux-api

Tras la instalación, tendremos disponibles los siguientes comandos:

Termux:Styling: modificando colores y tipografía

Añadido para Termux que permite personalizar Termux ofreciendo esquemas de color y otras configuraciones para modificar la apariencia del terminal.

Una vez instalado (desde F-Droid), con una sesión abierta de Termux, mantenemos pulsado en cualquier parte de la pantalla y elegimos Style. Entonces podremos seleccionar un esquema de color o una tipografía.

Al alegir un esquema de colores, se crea o modifica el fichero ~/.termux/colors.properties.

Al elegir una tipografía, se crea el fichero ~/.termux/font.ttf

Las tipografías son las Nerd Fonts

Grabar audio del micrófono

Si queremos poner a grabar sin límite:

termux-microphone-record -f nombre-fichero -l 0

Para detener la grabación:

termux-microphone-record -q

Lo que suelo instalar

Recursos