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.2 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.

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:

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

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:

  • 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 aplicaciones

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

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.

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 -av $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.

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:

  • ~/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

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.

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

  • openssh
  • termux-api
  • rsync
  • vim
  • sox
  • tmux
  • tmate
  • dnsutils
  • htop

Recursos

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