Termux - un émulateur de terminal pour Android extensible avec de nombreux paquets
(github.com/termux)- Application open source qui fournit un environnement Linux et des fonctions de terminal sur Android, extensible via l’installation de nombreux paquets
- Fonctionnalités complétées par plusieurs applications de plugin comme Termux:API, Boot, Float, Styling, Tasker, Widget
- Installation possible via F-Droid, GitHub, Google Play (expérimental), mais les clés de signature diffèrent selon la source et ne peuvent pas être mélangées
- À partir d’Android 12, des instabilités dues aux limitations de processus peuvent survenir, avec des liens vers les problèmes concernés et leurs solutions
- La documentation décrit clairement la bibliothèque partagée (
termux-shared), les règles de message de commit et les consignes de fork pour les développeurs et mainteneurs
Présentation de Termux
- Termux est une application d’émulation de terminal qui fournit un environnement Linux sur Android
- L’application elle-même inclut l’interface utilisateur et les fonctions d’émulation de terminal
- Les paquets installables sont gérés dans le dépôt séparé termux/termux-packages
- À partir d’Android 12, des problèmes liés à une limite de 32 processus et à l’arrêt de processus en cas d’utilisation CPU excessive peuvent survenir
- Les problèmes concernés et les solutions sont indiqués via l’issue GitHub #2366 et des liens vers la documentation Android
Application Termux et plugins
- En plus de l’application principale, les applications de plugin suivantes sont prises en charge
- Termux:API, Termux:Boot, Termux:Float, Termux:Styling, Termux:Tasker, Termux:Widget
- Tous les plugins utilisent le même sharedUserId(com.termux), donc seuls les APK signés avec la même clé peuvent être installés ensemble
Méthodes d’installation
- La dernière version est la v0.118.3, avec une prise en charge complète à partir d’Android 7
- La prise en charge d’Android 5 et 6 a pris fin en 2020, mais l’application seule a de nouveau été rendue disponible en 2022 via les sources GitHub
- Mélanger des installations provenant de sources avec des clés de signature différentes (F-Droid, GitHub, etc.) provoque des erreurs
- Pour installer depuis une autre source, il faut supprimer puis réinstaller tous les APK existants de Termux et de ses plugins
F-Droid
- Il est possible de télécharger directement l’APK depuis F-Droid, mais après installation, les mises à jour doivent être vérifiées manuellement
- Les builds F-Droid sont gérés par F-Droid et non par les développeurs de Termux, et utilisent donc une clé de signature différente
- Aucun APK par architecture n’est proposé ; seul un APK universel unique (~180MB) est distribué
GitHub
- Des APK sont fournis via GitHub Releases ou Build Action
- Pour Android 7 et plus, utiliser la version
apt-android-7, et pour Android 5 et 6, la versionapt-android-5
- Pour Android 7 et plus, utiliser la version
- Les APK buildés sur GitHub sont signés avec une clé de test (
testkey_untrusted.jks), ce qui permet à n’importe qui de produire un build avec la même clé- En raison du risque de diffusion de versions malveillantes, il est déconseillé d’installer des APK provenant d’une autre source que le dépôt GitHub officiel
- L’APK universel pèse environ 180MB, tandis que les APK par architecture pèsent environ 120MB
Google Play (expérimental)
- Une version adaptée aux politiques pour Android 11 et plus existe sur Google Play, mais elle présente des fonctions manquantes et des bugs
- La version Play est développée dans un dépôt séparé (termux-play-store)
- Elle n’est pas compatible avec la version F-Droid en raison de la suppression de
sharedUserId, et il est recommandé de désactiver les mises à jour automatiques
Suppression et sauvegarde
- Lors d’un changement de source d’installation ou de la suppression de l’application, tous les APK de Termux et de ses plugins doivent être entièrement supprimés
- Avant la suppression, il est possible de sauvegarder les données via la procédure Backing up Termux
Communauté et documentation
- Principales communautés : Reddit(r/termux), canaux Matrix/Gitter, Twitter(@termuxdevs), e-mail de support(support@termux.dev)
- Documentation officielle :
- Ressources supplémentaires : FAQ, structure du système de fichiers, accès distant, accès au stockage Android, configuration du terminal, etc.
5 commentaires
Je fais partie de la génération qui vient juste de commencer à pouvoir utiliser des smartphones pendant le service militaire,
j’y ai installé Termux pour m’exercer au développement web et même écrire des interpréteurs,
et j’y ai aussi fait entrer un livre sur Rust pour étudier.
Ça faisait longtemps que je ne m’étais pas éloigné de l’interface graphique,
et c’était amusant de se plonger dans un environnement texte.
J’ai aussi appris
vimen utilisant Termux.Comme dans les commentaires de Hacker News,
encore aujourd’hui, dès que j’ai un nouvel appareil Android,
j’installe Termux quoi qu’il arrive.
Personnellement, je l’utilise de manière très pratique pour me connecter brièvement en
sshà un serveur lorsque j’ai besoin de surveiller du code en déplacement.J’utilise un Pixel, et sur les dernières versions d’Android il est désormais officiellement possible d’installer un conteneur Linux via les options développeur (je ne sais pas si c’est aussi possible sur d’autres téléphones, mais probablement, non ?) À la base, j’avais installé Termux comme un petit gadget que je lançais de temps en temps, ou à la rigueur pour faire des tests de
ping, mais maintenant j’ai l’impression que même ce genre d’usage ne sera plus nécessaire. C’était une application intéressante, donc c’est un peu dommage de lui dire au revoir.J’avais laissé CopyParty prendre la poussière dans ma liste de vidéos YouTube « à regarder plus tard », mais en lisant les commentaires sur HN, j’ai vu que c’était du même auteur o.o
Avis Hacker News
L’un de mes logiciels préférés est Copyparty, créé par la personne qui a installé Termux sur son téléphone
Le lien GitHub est ici, et il y a aussi une vidéo YouTube associée
Chaque fois que je mets la main sur un nouvel appareil Android, la toute première chose que j’installe, c’est Termux
Je connecte un étui-clavier Bluetooth et je fais du code à distance depuis mon canapé avec Neovim, je gère mes notes avec vimwiki et je les synchronise sur GitHub
La plupart des outils CLI sont dans le dépôt Termux, et si ce n’est pas le cas, je les compile moi-même avec clang, cmake, etc.
C’est grâce à Termux que j’utilise encore Android comme plateforme principale
Mon cas d’usage de Termux, c’est l’automatisation des sauvegardes de photos
Je sauvegarde mes photos sur un NAS, mais comme certaines manquent, j’exécute via Termux un script qui calcule les sommes de contrôle MD5 sur le NAS et supprime les mêmes fichiers sur le téléphone
Ça permet de récupérer de façon fiable plusieurs dizaines de Go d’espace
Le ticket Nextcloud concerné est ici
Avec la montée du développement assisté par IA, j’ai l’impression que davantage de gens vont utiliser des outils comme Termux, tmux
Taper sur téléphone reste pénible, mais avec des claviers comme Unexpected Keyboard(lien) et le mode vim, ça devient tout à fait exploitable
Moi, avec Termux, je ne lance SSH que lorsque j’en ai besoin
Quand j’ouvre Termux, SSH démarre, et quand je le ferme, il s’arrête. C’est largement suffisant pour synchroniser des fichiers avec rsync
Je n’ai pas besoin que ce soit toujours actif, donc je n’utilise pas d’applis comme LocalSend ou SyncThing. Depuis le desktop, je lance un simple script de sync en lui indiquant juste le sens
De nos jours, comme il n’y a plus vraiment de téléphones Android avec clavier matériel, je n’utilise presque plus ce genre d’applis
À l’époque des Motorola Droid, j’avais construit un environnement très productif avec Termux et ConnectBot
Aujourd’hui, le potentiel a diminué, et la diversité matérielle comme l’ouverture des bootloaders ne sont plus ce qu’elles étaient. Termux me rappelle cette époque avec nostalgie
Dans Termux, on peut garder tel quel un environnement avec tmux, fish, git, yazi
On peut même compiler des applis Rust, et c’est surprenant de voir des applis TUI réagir aux entrées tactiles
Je me demande s’il existe un terminal de ce niveau sur iOS
On dit qu’Android dispose maintenant d’un environnement Linux complet, alors est-ce que Termux reste encore nécessaire ?
J’ai vu beaucoup de discussions à ce sujet sur r/androidterminal
En revanche, le nouveau terminal Linux tourne dans une VM séparée, donc il consomme plus d’espace de stockage
Pour moi, Termux est le meilleur émulateur de terminal Android
J’organise mes notes avec fzf, Neovim et Git, et j’utilise aussi SSH pour les accès distants
Je peux créer des CLI ou des TUI en Go, les compiler avec le NDK, puis les exécuter directement dans Termux
Honnêtement, je me demande comment on peut utiliser un environnement terminal sur un si petit écran tactile ?
:help. Maintenant, j’y suis complètement habitué