Apprendre Termux
À propos du cours
Termux
- Termux est une application qui émule un shell Linux tout en permettant d’accéder aux fonctions du shell Android: voir ici
- Droits root non nécessaires pour l’installation
- Shell par défaut : bash (apporte l’historique, la complétion des commandes, la coloration du prompt, …)
- Gestionnaire de paquet : dpkg, wrapper pour apt
- Modules additionnels pour modifier la présentation, s’interfacer avec les fonctionnalités du périphérique, …..
Installer Termux
Termux est disponible depuis le dépôt F-Droid et le Google Play. L’application dans Google Play n’est plus tenu à jour, il est donc recommandé d’utiliser la version du dépôt F-Droid
Termux est disponible sur F-Droid. Si vous ne l’avez pas, vous pouvez aller sur cette page et cliquer le premier lien « Download APK » trouvé dans la page.
Une fois installé, lancez l’application. Vous allez vous retrouver face à un terminal tel que ci-dessous. Appuyez dedans pour afficher le clavier
Ensuite, on va créé les liens symboliques pour accéder plus facilement au stockage du téléphone :
Tapez
termux-setup-storage
Il va alors vous demander si vous autorisez Termux à accéder aux fichier : Confirmez.
En faisant un ls
, vous devez maintenant voir un répertoire storage
qui vous permet d’accéder aux fichiers sur le téléphone :
Installer optionnellement Thermux-styling pour changer les couleurs et la fonte du terminal
https://f-droid.org/fr/packages/com.termux.styling/
Note : L’application et ses add’ons est également disponible dans le dépôt PlayStore, mais les signatures étant différentes, utiliser toujours le même dépôt pour installer Termux et ses addons
- Lancer l’application, la fenêtre de l’émulateur de terminal s’ouvre
- Affichage :
- pincer l’écran pour agrandir / rétrécir la taille des caractères
- toucher l’écran et maintenir – sélectionner More … – sélectionner Style – pour sélectionner les couleurs et la fonte
- Clavier :
- Des touches ESC Tab CTRL ALT – Flèche haut et bas sont disponibles au dessus du clavier. Pour les faire apparaître / disparaître utiliser la combinaison : Volume + et q
- Flèche droite et gauche : Combinaison de touches Volume + et a ou d
- Aide en ligne sur Termux : Toucher l’écran et maintenir – sélectionner More … – sélectionner Help
- Liste des commandes internes (bulit-in)
$ help
Aide sur une commande interne, par exemple la commande pwd
$ help pwd
Aide sur une commande installée, par exemple pwd
$ pwd --help
Ajout de commandes via le gestionnaire de paquets
Mettre à jour le système
$ pkg update
Liste des paquets installés
$ pgk list-all
Recherche d’un paquet, par exemple parted
$ pkg search parted
Installation d’un paquet, par exemple parted
$ pkg install parted
Désinstallation d’un paquet, par exemple parted
$ pkg uninstall parted
Installation de git
$ pkg install git
Dépôt root-repo
Le dépôt root-repo contient des commandes nécessitant les droits administrateurs, par exemple gdisk
$ gdisk
The program gdisk is not installed. Install it by executing:
pkg install gptdisk, after running pkg in root-repo
Installer le dépôt root-repo
$ pkg install root-repo
Installer le paquet gptfdisk
$ pkg install gptfdisk
Liste des fichiers du paquet gptfdisk
$ pkg files gptfdisk
Les commandes parted et gdisk doivent être lancées avec sudo
Installer sudo
$ pkg install tsu
On dispose alors des commandes gparted, gdisk, cddisk, fixparts,sgdisk
$ sudo gparted
....
Utilisation depuis un shell standard
- Un accès complet à Termux peut-être effectué via ssh (voir tutoriaux sur internet).
- On décrit ici un accès plus restreint depuis un shell standard (directement ou à partir de adb), qui permet en particulier de lancer les commandes root de partitionnement des disques. Par contre, les commandes de gestion de paquet (pkg apt) échouent
- Les commandes installées par Termux sont situées
- en /system/xbin, par exemple bash, nano, et sont accessibles directement (il n’est pas nécessaire d’indiquer le chemin complet) par l’utilisateur et le super-utilisateur
- et en /data/data/com.termux/files/usr/bin. Ces commandes seront accessibles soit en désignant le chemin complet, soit en ajouter le chemin dans le PATH (de l’utilisateur ou du super-utilisateur selon la commande). Ce répertoire est accessible soit par le superutilisateur soit par l’utilisateur Termux, celui-ci a pour identifiant 10130.
- L’utilisateur Termux dispose d’un répertoire home en /data/data/com.termux/files/home
- Exemple de connexion en tant qu’utilisateur Termux,
$ adb root
$ adb shell
a5y17lte:/ # PATH="echo $PATH:/data/data/com.termux/files/usr/bin"
a5y17lte:/ # sudo -u 10130 bash
u0_a130@a5y17lte / $ PATH="echo $PATH:/data/data/com.termux/files/usr/bin"
u0_a130@a5y17lte / $ cd /data/data/com.termux/files/home
u0_a130@a5y17lte /data/data/com.termux/files/home $ whereis gdisk
gdisk: /data/data/com.termux/files/usr/bin/gdisk /data/data/com.termux/files/usr/share/man/man8/gdisk.8.gz
Exemple de lancement d’une commande root (gdisk)
- En mode non interactif
$ adb root
$ adb shell /data/data/com.termux/files/usr/bin/gdisk
GPT fdisk (gdisk) version 1.0.5
Type device filename, or press <Enter> to exit: /dev/block/mmcblk1
......
En mode interactif
$ adb root
$ adb shell
a5y17lte / # PATH="echo $PATH:/data/data/com.termux/files/usr/bin"
a5y17lte:/ # bash
a5y17lte / # gdisk
.....