Termux es una aplicación de terminal Android y entorno Linux.
Tenga en cuenta que este repositorio es para la aplicación en sí (la interfaz de usuario y la emulación de terminal). Para conocer los paquetes instalables dentro de la aplicación, consulte termux/termux-packages.
Encontrará instrucciones rápidas sobre la gestión de paquetes de Termux en Gestión de paquetes. También tiene información sobre cómo reparar repository is under maintenance or down
al ejecutar los comandos apt
o pkg
.
Buscamos mantenedores de aplicaciones Termux para Android.
AVISO: Termux puede ser inestable en Android 12+. El sistema operativo Android eliminará cualquier proceso (fantasma) mayor a 32 (el límite es para todas las aplicaciones combinadas) y también eliminará cualquier proceso que utilice CPU excesiva. Es posible que reciba el mensaje [Process completed (signal 9) - press Enter]
en la terminal sin tener que salir usted mismo del proceso del shell. Consulte el problema relacionado n.º 2366, rastreador de problemas, documentos de procesos vacíos y en caché fantasma y este comentario de TLDR sobre cómo deshabilitar el recorte de procesos de uso excesivo y fantasma de la CPU. Más adelante se agregará una página de documentos adecuada. Una opción para desactivar la eliminación debería estar disponible en Android 12L o 13, así que actualice bajo su propio riesgo si tiene Android 11, especialmente si no está rooteado.
La aplicación principal de Termux viene con las siguientes aplicaciones complementarias opcionales.
La última versión es v0.118.1
.
AVISO: Se recomienda encarecidamente que actualice a v0.118.0
o superior lo antes posible para corregir varios errores, incluida una vulnerabilidad crítica legible en todo el mundo que se informa aquí. Consulte a continuación para obtener información sobre Termux en Google Play.
Termux se puede obtener a través de varias fuentes que se enumeran a continuación solo para Android >= 7
con soporte completo para aplicaciones y paquetes.
El soporte tanto para aplicaciones como para paquetes se eliminó para Android 5
y 6
el 2020-01-01 en v0.83
, sin embargo, se volvió a agregar solo para la aplicación sin soporte para actualizaciones de paquetes el 2022-05-24 a través de las fuentes de GitHub. . Consulte aquí para conocer los detalles.
Los archivos APK de diferentes fuentes están firmados con diferentes claves de firma. La aplicación Termux
y todos sus complementos utilizan el mismo sharedUserId
com.termux
, por lo que todos sus APK instalados en un dispositivo deben haber sido firmados con la misma clave de firma para funcionar juntos y, por lo tanto, todos deben instalarse desde la misma fuente. No intente mezclarlos, es decir, no intente instalar una aplicación o complemento de F-Droid
y otro de una fuente diferente como GitHub
. Android Package Manager normalmente tampoco permitirá la instalación de APK con diferentes firmas y obtendrá errores durante la instalación como App not installed
, Failed to install due to an unknown error
, INSTALL_FAILED_UPDATE_INCOMPATIBLE
, INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
, signatures do not match previously installed version
, etc. La restricción se puede evitar con root o con roms personalizados.
Si desea realizar la instalación desde una fuente diferente, primero debe desinstalar todos los APK existentes de Termux o su aplicación complementaria de su dispositivo y luego instalar todos los APK nuevos de la misma fuente nueva. Consulte la sección Desinstalación para obtener más detalles. También es posible que desee considerar hacer una copia de seguridad de Termux antes de la desinstalación para poder restaurarla después de reinstalar Termux desde una fuente diferente.
En los siguientes párrafos, "bootstrap" se refiere a los paquetes mínimos que se envían con la termux-app
para iniciar un entorno de shell funcional. Sus cremalleras se construyen y lanzan aquí.
La aplicación Termux se puede obtener de F-Droid
desde aquí.
No es necesario descargar la aplicación F-Droid
(a través del enlace Download F-Droid
) para instalar Termux. Puede descargar el APK de Termux directamente desde el sitio haciendo clic en el enlace Download APK
en la parte inferior de cada sección de versión.
Por lo general, las actualizaciones tardan unos días (o incluso una semana o más) en estar disponibles en F-Droid
una vez que se ha lanzado una actualización en GitHub
. Las versiones F-Droid
son creadas y publicadas por F-Droid
una vez que detectan una nueva versión GitHub
. Los mantenedores de Termux no tienen ningún control sobre la creación y publicación de las aplicaciones de Termux en F-Droid
. Además, los mantenedores de Termux tampoco tienen acceso a las claves de firma de APK de las versiones F-Droid
, por lo que no podemos publicar un APK en GitHub
que sea compatible con las versiones F-Droid
.
Es posible que la aplicación F-Droid
a menudo no le notifique las actualizaciones y tendrá que realizar manualmente una acción de deslizar hacia abajo en la pestaña Updates
de la aplicación para verificar las actualizaciones. Asegúrese de que las optimizaciones de batería estén deshabilitadas para la aplicación; consulte https://dontkillmyapp.com/ para obtener detalles sobre cómo hacerlo.
Solo se lanza un APK universal, que funcionará en todas las arquitecturas compatibles. El tamaño de instalación del APK y del bootstrap será de ~180MB
. F-Droid
no admite APK de arquitectura específica.
La aplicación Termux se puede obtener en GitHub
desde GitHub Releases
para la versión >= 0.118.0
o desde los flujos de trabajo GitHub Build Action
. Para Android >= 7
, instale solo variantes apt-android-7
. Para Android 5
y 6
, instale únicamente las variantes de apt-android-5
.
Los APK para GitHub Releases
aparecerán en el menú desplegable Assets
de una versión. Estos se adjuntan automáticamente cuando se lanza una nueva versión.
Los APK para los flujos de trabajo de acciones GitHub Build
aparecerán en la sección Artifacts
de una ejecución de flujo de trabajo. Estos se crean para cada confirmación/inserción realizada en el repositorio y pueden ser utilizados por usuarios que no quieren esperar a los lanzamientos y quieren probar las funciones más recientes de inmediato o quieren probar sus solicitudes de extracción. Tenga en cuenta que para los flujos de trabajo de acciones, debe iniciar sesión en una cuenta GitHub
para habilitar o hacer clic en los enlaces Artifacts
. Si está utilizando la aplicación GitHub
, asegúrese de abrir el enlace del flujo de trabajo en un navegador como Chrome o Firefox que tenga su cuenta de GitHub iniciada, ya que es posible que el navegador de la aplicación no esté conectado.
Los APK de ambos debuggable
y son compatibles entre sí, pero no son compatibles con otras fuentes.
Se lanzan APK universales y específicos de arquitectura. El tamaño de instalación de APK y bootstrap será ~180MB
si se usa universal y ~120MB
si se usa una arquitectura específica. Consulte aquí para obtener más detalles.
Advertencia de seguridad : los archivos APK en GitHub están firmados con una clave de prueba que se ha compartido con la comunidad. Esta NO ES una clave oficial de desarrollador y todos pueden usarla para generar versiones para sus propias pruebas. Tenga mucho cuidado al utilizar compilaciones de Termux GitHub obtenidas en otros lugares excepto https://github.com/termux/termux-app. Todos pueden usarlo para falsificar una actualización maliciosa de Termux que se puede instalar en la compilación de GitHub. Piénselo dos veces antes de instalar compilaciones de Termux distribuidas a través de Telegram u otras redes sociales. Si su dispositivo queda atrapado por malware, no podremos ayudarlo.
La clave de prueba no se utilizará para hacerse pasar por @termux y no se puede utilizar para esto de todos modos. No confiamos en esta clave y es bastante fácil detectar su uso en el contenido generado por el usuario.
Alias name: alias
Creation date: Oct 4, 2019
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=APK Signer, OU=Earth, O=Earth
Issuer: CN=APK Signer, OU=Earth, O=Earth
Serial number: 29be297b
Valid from: Wed Sep 04 02:03:24 EEST 2019 until: Tue Oct 26 02:03:24 EEST 2049
Certificate fingerprints:
SHA1: 51:79:55:EA:BF:69:FC:05:7C:41:C7:D3:79:DB:BC:EF:20:AD:85:F2
SHA256: B6:DA:01:48:0E:EF:D5:FB:F2:CD:37:71:B8:D1:02:1E:C7:91:30:4B:DD:6C:4B:F4:1D:3F:AA:BA:D4:8E:E5:E1
Signature algorithm name: SHA1withRSA (disabled)
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
Actualmente hay una versión de Termux disponible en Google Play para dispositivos Android 11+, con amplios ajustes para cumplir con los requisitos de la política allí. Esto está en desarrollo y le faltan funciones y errores (ver aquí para actualizaciones de estado) en comparación con la compilación estable de F-Droid, por lo que la mayoría de los usuarios que pueden aún deberían usar la compilación F-Droid o GitHub como se mencionó anteriormente.
Actualmente, Google Play intentará actualizar las instalaciones distintas de las de F-Droid. La actualización seguirá fallando ya que se eliminó el ID de usuario compartido. Una versión planificada de 0.118.1 F-Droid solucionará este problema estableciendo un código de versión superior al utilizado para la aplicación PlayStore. Mientras tanto, para evitar que Google Play intente descargar y luego no instale las versiones de Google Play sobre instalaciones existentes, puede abrir las páginas de aplicaciones de Termux en Google Play y luego hacer clic en el botón de opciones de 3 puntos en la parte superior derecha y luego desactivar la Habilite la alternancia de actualización automática. Sin embargo, las actualizaciones de las aplicaciones de Termux seguirán apareciendo en la lista de actualizaciones de las aplicaciones de PlayStore.
Si desea ayudar a probar la compilación de Google Play (o no puede instalar Termux desde otras fuentes), tenga en cuenta que está compilada desde un repositorio separado (https://github.com/termux-play-store/). informar problemas allí, ya que cualquier problema encontrado podría ser específico de ese repositorio.
Es posible que sea necesaria la desinstalación si un usuario ya no desea que Termux esté instalado en su dispositivo o si está cambiando a una fuente de instalación diferente. Es posible que también desee considerar realizar una copia de seguridad de Termux antes de la desinstalación.
Para desinstalar Termux por completo, debe desinstalar todos y cada uno de los APK existentes de Termux o su aplicación de complemento que figuran en Aplicaciones y complementos de Termux.
Vaya a Android Settings
-> Applications
y luego busque esas aplicaciones. También puede utilizar la función de búsqueda si está disponible en su dispositivo y buscar termux
en la lista de aplicaciones.
Incluso si cree que no ha instalado ninguno de los complementos, se recomienda encarecidamente revisar la lista de aplicaciones en la configuración de Android y volver a verificar.
Todos los enlaces de la comunidad están disponibles aquí.
Los principales son los siguientes.
RUN_COMMAND
VTE (libvte): widget de emulador de terminal para GTK+, utilizado principalmente en gnome-terminal. Fuente, Problemas abiertos y Todos los problemas (incluidos los cerrados).
iTerm 2: aplicación de terminal OS X. Fuente, problemas y documentación (que incluye códigos de escape propietarios de iTerm2).
Konsole: aplicación de terminal KDE. Fuente, en particular pruebas, errores y deseos.
hterm: implementación de terminal JavaScript de Chromium. Fuente, incluidas pruebas y grupo de Google.
xterm: El abuelo de los emuladores de terminal. Fuente.
Connectbot: cliente SSH de Android. Fuente
Emulador de terminal de Android: aplicación de terminal Android en la que se basa el manejo del terminal Termux. Inactivo. Fuente.
Puede ayudar a depurar problemas de la aplicación Termux
y sus complementos configurando Log Level
logcat
apropiado en la configuración de la aplicación Termux
->
-> Debugging
-> Log Level
(requiere la versión de la aplicación Termux
>= 0.118.0
). El Log Level
tiene como valor predeterminado Normal
y el nivel de registro Verbose
actualmente registra información adicional. Es mejor revertir el nivel de registro a Normal
después de haber terminado la depuración, ya que, de lo contrario, es posible que se pasen datos privados a logcat
durante el funcionamiento normal y, además, el registro adicional aumenta el tiempo de ejecución.
Las aplicaciones complementarias no ejecutan los comandos por sí mismas , sino que envían intentos de ejecución a la aplicación Termux
, que tiene su propio nivel de registro que se puede configurar en la configuración de la aplicación Termux
-> Termux
-> Debugging
-> Log Level
. Por lo tanto, debe establecer el nivel de registro tanto para Termux
como para la configuración de la aplicación del complemento respectivo para obtener toda la información.
Una vez que se hayan configurado los niveles de registro, puede ejecutar el comando logcat
en la terminal de la aplicación Termux
para ver los registros en tiempo real ( Ctrl+c
para detener) o usar logcat -d > logcat.txt
para realizar un volcado del registro. También puede ver los registros desde una PC a través de ADB
. Para obtener más información, consulte la guía oficial logcat
de Android aquí.
Además, los usuarios también pueden generar información stat
de archivos termux y volcado logcat
automáticamente con el menú de opciones de retención prolongada del terminal More
-> opción Report Issue
y seleccionando YES
en el mensaje que se muestra para agregar información de depuración. Esto puede resultar útil para informar y depurar otros problemas. Si el informe generado es demasiado grande, entonces se puede usar la opción Save To File
en el menú contextual (3 puntos en la parte superior derecha) de ReportActivity
y ver/compartir el archivo.
Los usuarios deben publicar un informe completo (opcionalmente sin información confidencial) al informar problemas. Los problemas abiertos con capturas de pantalla (parciales) de informes de errores en lugar de texto probablemente se cerrarán o eliminarán automáticamente.
Off
: no registrar nada.Normal
: comience a registrar errores, mensajes de advertencia e información y seguimientos de pila.Debug
: comience a registrar mensajes de depuración.Verbose
: comience a registrar mensajes detallados. La biblioteca compartida termux se agregó en v0.109
. Define constantes y utilidades compartidas de la aplicación Termux y sus complementos. Fue creado para permitir la eliminación de todas las rutas codificadas en la aplicación Termux. Algunos de los complementos de termux también utilizan esto y el resto lo hará en el futuro. Si está contribuyendo con código que utiliza una constante o una utilidad que puede compartirse, defínala en la biblioteca termux-shared
si no existe actualmente y haga referencia a ella desde allí. Actualice también los registros de cambios relevantes. Las solicitudes de extracción que utilicen valores codificados no se aceptarán/no deberían aceptarse. Las clases específicas de la aplicación y el complemento Termux deben agregarse en el paquete com.termux.shared.termux
y las clases generales fuera de él. La LICENSE
termux-shared
también debe verificarse y actualizarse si es necesario al contribuir con código. Se deben respetar las licencias de cualquier biblioteca o código externo.
Las principales constantes de Termux están definidas por la clase TermuxConstants
. También contiene información sobre cómo bifurcar Termux o compilarlo con su propio nombre de paquete. Cambiar el nombre del paquete requerirá compilar los paquetes zip de arranque y otros paquetes con el nuevo $PREFIX
; consulte Creación de paquetes para obtener más información.
Consulte Bibliotecas Termux para saber cómo importar bibliotecas termux en aplicaciones de complementos y Bifurcación y desarrollo local para saber cómo actualizar las bibliotecas termux para complementos.
El versionName
en los archivos build.gradle
de Termux y sus aplicaciones complementarias debe seguir la especificación semántica de la versión 2.0.0
en el formato major.minor.patch(-prerelease)(+buildmetadata)
. Al incluir versionName
en archivos build.gradle
y al crear una etiqueta para nuevas versiones en GitHub, asegúrese de incluir también el número de parche, como v0.1.0
en lugar de solo v0.1
. Los archivos build.gradle
y el flujo de trabajo attach_debug_apks_to_release
también validan la versión y la compilación/adjunto fallará si versionName
no sigue la especificación.
Los mensajes de confirmación deben utilizar la especificación de confirmaciones convencionales para que el script create-conventional-changelog
pueda generar automáticamente registros de cambios según la especificación Keep a Changelog; consulte su repositorio para obtener más detalles sobre la especificación. La primera letra del type
y description
debe estar en mayúscula y la descripción debe estar en tiempo presente. El espacio después de los dos puntos :
es necesario. Para un cambio importante, agregue un signo de exclamación !
antes de los dos puntos :
para que se resalte automáticamente en el registro de cambios.
[optional scope]:
[optional body]
[optional footer(s)]
Sólo los types
enumerados a continuación deben usarse exactamente como se usan en los encabezados del registro de cambios. Por ejemplo, Added: Add foo
, Added|Fixed: Add foo and fix bar
, Changed!: Change baz as a breaking change
, etc. Opcionalmente, también puede agregar un alcance, como Fixed(terminal): Fix some bug
. No use nada más como tipo, como add
en lugar de Added
, etc.
TermuxConstants
para obtener instrucciones sobre qué cambios realizar en la aplicación para cambiar el nombre del paquete.TermuxConstants
de la biblioteca termux-shared
y tienen valores com.termux
codificados y deberán parchearse manualmente.