Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:android:aplicaciones:termux

¡Esta es una revisión vieja del documento!


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.3 de Termux.

Casos de uso

  • Procesar datos con Python.
  • Programar en un entorno de desarrollo.
  • Descarga de ficheros.
  • Aprendizaje de las bases del entorno Linux en línea de comandos.
  • Ejecutar un cliente SSH.
  • Sincronización y copia de seguridad de archivos.

Limitaciones de Termux

Aunque Termux proporciona un entorno muy potente, existen limitaciones importantes derivadas del sistema Android:

Sin privilegios root

Termux se ejecuta como una aplicación normal de Android, por lo que:

  • No tiene acceso root (a menos que el dispositivo esté rooteado).
  • No puede modificar el sistema base.
  • No puede usar funcionalidades que requieren privilegios elevados.

No es un sistema Linux completo

Aunque se parece a una distribución Linux:

  • No usa un kernel propio (usa el de Android).
  • No dispone de systemd ni init tradicional.
  • Algunos programas no funcionan o requieren adaptaciones.

Restricciones de ejecución de binarios

Desde Android 10:

  • No se pueden ejecutar binarios desde ubicaciones arbitrarias.
  • Todo debe ejecutarse dentro del entorno de Termux (`$PREFIX`).
  • Esto afecta a herramientas externas o descargadas manualmente.

Limitaciones de red

  • Algunas herramientas (como ip) pueden no funcionar correctamente.
  • Acceso limitado a interfaces de red avanzadas.
  • No se pueden crear interfaces virtuales sin root.

Restricciones en segundo plano

Android puede suspender procesos cuando:

  • La app está en segundo plano
  • La pantalla está apagada

Soluciones:

  • Usar termux-wake-lock
  • Ejecutar procesos en tmux o screen.

Acceso limitado al almacenamiento

  • Depende de permisos de Android.
  • Puede variar según versión y fabricante.
  • No hay acceso completo al sistema de archivos.

Compatibilidad de software

  • Algunos paquetes no están disponibles.
  • Otros requieren parches específicos.
  • Programas que dependen de systemd, dbus completo o kernel features pueden fallar.

Entorno gráfico limitado

  • No hay servidor gráfico nativo.
  • Soluciones como Termux:X11 o VNC son necesarias.
  • Rendimiento inferior a un sistema Linux real.

Cambios frecuentes

  • Termux evoluciona rápidamente.
  • Android introduce nuevas restricciones con cada versión.
  • Algunas funcionalidades pueden romperse o cambiar.

Instalación

Aunque Termux está también disponible en la Play store de Google, los desarrolladores recomiendan instalarlo desde F-Droid pues no tiene restricciones. El “inconveniente” de instalarlo fuera de la tienda de Google es que no es compatible con el modelo de seguridad de Android y nos saldrá una advertencia.

La versión de Termux instalada (F-Droid vs Google Play) afecta a:

  • Disponibilidad de comandos (Termux:API)
  • Permisos de almacenamiento
  • Compatibilidad de paquetes
  • Comportamiento de ejecución de binarios

Asegúrate de saber qué versión estás usando antes de seguir esta documentación.

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:

  • $PREFIX: /data/data/com.termux/files/usr
  • $HOME: /data/data/com.termux/files/home

Aunque Termux no sigue el FHS a nivel del sistema Android, dentro de $PREFIX sí mantiene una estructura similar a un sistema Linux convencional:

$ tree -L 1 $PREFIX
/data/data/com.termux/files/usr
├── bin
├── etc
├── include
├── lib
├── libexec
├── opt
├── share
├── tmp
└── var

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

Uso del teclado táctil

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:

  • VOLUME UP + E: tecla Escape.
  • VOLUME UP + T: tecla tabulador.
  • VOLUME UP + 1, 2, …: teclas de función (F1, F2, …).
  • VOLUME UP + B: Alt + B
  • VOLUME UP + F: Alt + F
  • VOLUME UP + X: Alt + X
  • VOLUME UP + W, Alt, Shift, D: teclas de flechas (arriba, izquierda, abajo, derecha).
  • VOLUME UP + L: |
  • VOLUME UP + H: ~
  • VOLUME UP + U: _
  • VOLUME UP + P, N: avanzar página, retroceder página.
  • VOLUME UP + V: Muestra el control de volumen.
  • VOLUME UP + Q, K: Muestra / oculta la vista de teclas extra.

Gestión de paquetes

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

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

Las ventajas de usar pkg en lugar de directamente apt es que tenemos disponibles algunos atajos y otras operaciones útiles:

  • pkg in: instala paquetes y nos ahorra escribir pkg install o apt install.
  • pkg up: actualiza los repositorios. Nos ahorra escribir pkg update o apt update.
  • pkg upg: actualiza los respositorios y actualiza los programas instalados. Nos ahorra escribir pkg update y después pkg upgrade o apt update y después apt upgrade.
  • Ejecución automática de apt update antes de la instalación de un paquete.

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

Versión abreviada: pkg upg. Además, primero actualizará los repositorios.

Repositorios adicionales

Termux dispone de varios repositorios opcionales que amplían la cantidad de paquetes disponibles.

Repositorios recomendados para la mayoría de usuarios:

  • x11-repo: si vas a usar entorno gráfico
  • tur-repo: para ampliar software disponible

root-repo solo es útil en dispositivos rooteados.

x11-repo

Instalación:

pkg install x11-repo

Contenido:

  • Aplicaciones gráficas basadas en X11.
  • Bibliotecas gráficas.
  • Entornos de escritorio (XFCE, etc.).

Uso típico:

  • Junto con Termux:X11 o VNC.

tur-repo (Termux User Repository)

Instalación:

pkg install tur-repo

Contenido:

  • Paquetes mantenidos por la comunidad.
  • Software más reciente o no incluido en repos oficiales.

Características:

  • Similar a AUR en Arch Linux.
  • Puede incluir herramientas experimentales.

Revisar antes de usar en entornos críticos.

root-repo

Instalación:

pkg install root-repo

Contenido:

  • Herramientas que requieren acceso root.
  • Ejemplo: utilidades de bajo nivel del sistema.

Solo útil si el dispositivo está rooteado.

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:

  • Seleccionar texto.
  • Copiar texto.
  • Pegar texto.
  • Seleccionar URL. Copia las URL que encuentre en la sesión.
  • Compartir transcripción de lo mostrado en la terminal.
  • Compartir texto seleccionado.
  • Reset: reinica la terminal si se queda bloqueda o fuerza termina la sesión actual.
  • Matar proceso: mata la sesión.
  • Estilo
  • Mantener la pantalla encendida.
  • Ayuda: abre la Wiki de Termux.
  • Ajustes de Termux
  • Informar de un error.

Cajón de navegación

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

  • Lista y permite seleccionar las sesiones abiertas (podemos cambiar el nombre manteniendo pulsado sobre cada una)
  • Botón KEYBOARD para mostrar u ocultar el teclado.
  • Botón NEW SESSION para crear una nueva sesión de terminal.

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:

  • termux-wake-lock: evitar que la CPU entre en reposo.
  • termux-wake-unlock: desactivar el wake lock.

Casos prácticos

Conexión SSH

Una forma cómoda de usar Termux es conectarnos al dispositivo en el que está desde un ordenador a través de SSH.

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 nombre de usuario (u0_aXXX) depende del sistema Android y puede variar.

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.

En sistemas Linux modernos, el comando recomendado para gestionar red es ip. Sin embargo, en Termux puede fallar debido a restricciones del sistema Android (por ejemplo, errores con netlink sockets). En estos casos, ifconfig puede funcionar correctamente y ser una alternativa válida.

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/
  • -a: modo archivado, mantendrá todas las propiedades de los ficheros.
  • -v: modo verboso, nos informará de los ficheros que va transfiriendo y nos ofrecerá un resumen al terminar.
  • -P: muestra el progreso de la operación.

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 Wi-Fi, 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 (según las dependencias). 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:

  • ~/storage/dcim: directorio por defecto de imagenes y vídeos al usar la cámara del dispositivo.
  • ~/storage/downloads: directorio por defecto de descargas.
  • ~/storage/movies: directorio por defecto donde están las películas disponibles para el usuario.
  • ~/storage/music: directorio por defecto donde está la música para el usuario.
  • ~/storage/pictures: directorio por defecto donde están las imágenes disponibles para el usuario.
  • ~/storage/shared: raíz del almacenamiento compartido entre todas las aplicaciones.

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

Extensiones

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-battery-status: obtiene el estado de la batería del dispositivo.
  • termux-brightness: establece el brillo del dispositivo (entre 0 y 255)
  • termux-call-log: lista el historial de llamadas.
  • termux-camera-info: obtiene información sobre las cámaras del dispositivo.
  • termux-camera-photo: hace una foto y la guarda en un fichero JPEG.
  • termux-clipboard-get: obtiene el texto del portapapeles.
  • termux-clipboard-set: modifica el texto del portapapeles.
  • termux-contact-list: lista los contactos.
  • termux-dialog: muestra el diágolo de introducción de texto.
  • termux-download: descarga un recurso utilizando el gestor de descargas del sistema
  • termux-fingerprint: utiliza el sensor de huella para autenticación.
  • termux-infrared-frequencies: obtiene las frecuencias soportadas por el transmisor de infrarrojos.
  • termux-infrared-transmit: transmite un patrón de infrarrojos.
  • termux-job-scheduler: programa un script de Termux para ejecutar más tarde o periódicamente.
  • termux-location: obtiene la ubicación del dispositivo.
  • termux-media-player: reproduce archivos multimedia.
  • termux-media-scan: escanea multimedia. Hace cambios que son visibles en la galería.
  • termux-microphone-record: graba utilizando el micrófono del dispositivo.
  • termux-notification: muestra una notifición de sistema.
  • termux-notification-remove: elimina una notificación mostrada con termux-notification
  • termux-sensor: obtiene información de los diferentes sensores del dispositivo.
  • termux-share: comparte un archivo pasado como argumento.
  • termux-sms-list: lista los mensajes SMS.
  • termux-sms-send: envía un SMS a un número especificado.
  • termux-storage-get: solicita un fichero y lo manda al archivo especificado.
  • termux-telephony-call: realiza una llamada al número especificado.
  • termux-telephony-cellinfo: obtiene información sobre las células al alcance del dispositivo.
  • termux-telephony-deviceinfo: obtiene información sobre el teléfono.
  • termux-toast: muestra una notificación.
  • termux-torch: enciende (on) o apaga (off) la linterna.
  • termux-tts-engines: obtiene información sobre los motores de transcripción a audio (text-to-speech) disponibles.
  • termux-tts-speak: dicta un texto con el motor de transcripción del sistema.
  • termux-usb: lista o accede a dispositivos USB.
  • termux-vibrate: hace vibrar el dispositivo.
  • termux-volume: cambia el volumen del audio.
  • termux-wallpaper: cambia el fondo de pantalla del dispositivo.
  • termux-wifi-connectioninfo: muestra información sobre la conexión Wi-Fi actual.
  • termux-wifi-enable: activa/desactiva la red Wi-Fi.
  • termux-wifi-scaninfo: obtiene información del último escaneo de redes Wi-Fi.

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

PRoot

PRoot es una herramienta que permite crear un entorno tipo “chroot” en Linux sin necesidad de permisos de root. En Termux se usa para simular un sistema de archivos aislado donde puedes ejecutar otro sistema Linux dentro del tuyo.

La posibilidad de instalar otras distribuciones de Linux es que tendremos así disponibles muchos más paquetes que Termux.

Instalación

Desde Termux, lo instalamos con:

apt install proot

También instalaremos

apt install proot-distro

Esta herramienta nos permitirá gestionar de forma sencilla las distribuciones Linux dentro de Termux.

Instalación de distribuciones Linux

Podemos ver todas las distribuciones que podríamos instalar con:

proot-distro list

A día de hoy (23/04/2026):

  • Adélie Linux
  • AlmaLinux
  • Alpine Linux
  • Arch Linux
  • Artix Linux
  • Chimera Linux
  • Debian (trixie)
  • Deepin
  • Fedora
  • Manjaro
  • OpenSUSE
  • Oracle Linux
  • Pardus
  • Rocky Linux
  • Termux
  • Trisquel GNU/Linux
  • Ubuntu (25.10)
  • Void Linux

Para instalar cualquier de ellas, nos fijamos en su alias (que aparece entre los símbolos menor que y mayor que):

proot-distro install debian

Entrar en una distro

proot-distro login debian

Si tenemos pensado lanzar herramientas gráficas (ver sección de Termux:X11), iniciaremos sesión con la opción --shared-tmp:

proot-distro login debian --shared-tmp

Termux:X11

Termux:X11 es una servidor gráfico X para Android y optimizado para usarse con Termux.

Instalación

Además, en Termux es necesario instalar los paquetes x11-repo y termux-x11-nightly:

apt install x11-repo
apt install termux-x11-nightly

Abriendo aplicaciones gráficas de Termux

Con la aplicación de Termux:X11 abierta en Android, vamos a Termux y ejecutamos cualquier aplicación gráfica. Por ejemplo, si queremos un escritorio XFCE:

termux-x11 -xstartup "dbus-launch --exit-with-session xfce4-session"

Si queremos indicar el “display”:

termux-x11 :0 -xstartup "dbus-launch --exit-with-session xfce4-session"

O algo más sencillo, el reloj (debe estar instalado a través del paquete xorg-xclock):

termux-x11 -xstartup xclock

Abriendo aplicaciones gráficas del entorno proot

El entorno proot debe ser abierto con la opción --shared-tmp:

proot-distro login ubuntu --shared-tmp

Una vez dentro del entorno proot, podemos usar Termux:X11:

termux-x11 -xstartup "dbus-launch xfce4-session"

Lo que suelo instalar

  • cmatrix
  • dnsutils
  • figlet
  • fzf
  • git
  • htop
  • netcat-openbsd
  • openssh
  • rsync
  • sox
  • termux-api
  • tmate
  • tmux
  • toilet
  • vim
  • wget

FZF

Instalación: pkg in fzf

Configuración:

Vamos a $HOME y añadimos al final del fichero .bashrc:

[ -f /data/data/com.termux/files/usr/share/fzf/key-bindings.bash ] && source /data/data/com.termux/files/usr/share/fzf/key-bindings.bash

A partir de entonces, cada vez que usemos la búsqueda recursiva de bash (Ctrl + R), se lanzará FZF.

Más información sobre FZF en esta propia wiki.

Recursos

informatica/sistemas_operativos/android/aplicaciones/termux.1777201817.txt.gz · Última modificación: por tempwin