Réinstallation et Termux API
- rsync et serveur SSH sous Android, le match
- Terminal et packages Linux sur Android : Termux for the win
- Un peu plus loin avec Termux
- Installation de Ansible entre autres choses
- Voyage au bout de la nuit
- Réinstallation et Termux API
- Des news
- Android 6.0, mise à jour de la réinstallation rapide
- Un point sur les packages de Termux
Il n’aura échappé à personne que je passe pas mal de temps sur Termux. Je n’ai d’ailleurs aucune idée si ça passionne les foules, vous avez le droit de dire ce que vous en pensez dans les commentaires.
Réinstallation rapide de Termux
Afin de gagner du temps dans mes multiples tests, j’ai décidé de m’organiser et notamment de prévoir une réinstallation rapide de Termux. Je dépose le script termux.sh dans /sdcard/Download/ (en branchant mon téléphone sur le pc avec le câble USB) puis je lance les commandes suivantes.
cp /sdcard/Download/termux.sh ~/ # On copie le script dans le HOME car on n'a pas les droits pour l'exécuter dans /sdcard/Download chmod +x termux.sh && ./termux.sh # On rend le script exécutable puis on le lance
Voici le script termux.sh. Le paquet python2 m’est nécessaire car j’utilise Ansible à partir de mon poste xubuntu pour configurer le téléphone. L’intérêt n’est pas forcément évident, tous les modules Ansible ne sont pas pris en charge (le module apt notamment).
#!/data/data/com.termux/files/usr/bin/bash # termux.sh v0.1 # apt update && apt upgrade # On met à jour la liste des paquets puis on met à jour les paquets apt -y install curl nano openssh python2 # On installe les paquets de base curl https://bloglibre.net/dl/xubuntu_key >> ~/.ssh/authorized_keys # On autorise notre poste xubuntu à se connecter au téléphone chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh # On met les droits qui vont bien sshd # On lance le démon SSH afin de pouvoir se connecter en SSH sur le téléphone
J’utilise Ansible pour configurer Termux que je lance ainsi à partir de mon poste xubuntu.
cd /etc/ansible && ansible-playbook termux.yml -e host=G3 # On configure Termux
Voici le fichier /etc/ansible/hosts
.
[android] G3 ansible_host=192.168.1.12 ansible_port=8022 ansible_shell_executable=/data/data/com.termux/files/usr/bin/bash ansible_python_interpreter=/data/data/com.termux/files/usr/bin/python2
Voici le playbook termux.yml.
--- - name: Termux configuration hosts: "{{ host }}" tasks: - name: Install packages command: apt -y install bash-completion dnsutils man ncdu python ranger rsync termux-api wget - name: Create folders file: path={{ item }} state=directory mode=0755 with_items: - /data/data/com.termux/files/home/scripts - /data/data/com.termux/files/home/logs - /data/data/com.termux/files/usr/var/spool/cron/crontabs - name: Copy .bash_profile copy: src=bash_profile dest=/data/data/com.termux/files/home/.bash_profile mode=0644 - name: Copy inputrc copy: src=inputrc dest=/data/data/com.termux/files/usr/etc/inputrc mode=0644 - name: Copy scripts copy: src={{ item }} dest=/data/data/com.termux/files/home/scripts/ mode=0755 with_fileglob: - /etc/ansible/*.sh
On pourrait faire très différent évidemment et tout inclure dans termux.sh… mais je kiffe Ansible ! Et puis en voyant termux-api juste après, ça donne plein d’idées.
Termux:API
Pour utiliser Termux:API, il faut installer Termux:API sur le téléphone à partir de Google Play ou de F-Droid. Il faut également installer le paquet termux-api sur Termux avec la commande apt install termux-api
. Enfin il faut être root sur le téléphone su
.
Vous trouverez ici la liste des API ainsi que quelques explications.
termux-tts-speak -e com.google.android.tts -l french "bonjour femme pupuce je t'aime" # Utiliser le text-to-speech, il faut préalablement checker les moteurs text-to-speech disponibles avec la commande termux-tts-engines termux-sms-send -n 0123456789 "Test Termux ;)" # Envoyer un SMS termux-toast "Voilà\nun\nbisus" # Afficher un message en boite flottante sur votre téléphone, les \n sont là pour aller à la ligne termux-vibrate -d 2000 # Faire vibrer le téléphone pendant 2000 ms termux-notification -c Pizza -t 12h00 # Afficher une notification avec comme titre 12h00 et comme texte Pizza
Tout cela peut être scripté… ou on peut déléguer à Ansible. Faire vibrer son téléphone quand une tâche longue sur un serveur est terminée, c’est professionnel ou pas ? Ou un text-to-speech : « Chef j’ai terminé le job ». Parce que c’est plus classe qu’un mail ha ha ha !
Bonus : Playbook pour installer Ansible sur le téléphone
Voici le playbook ansible.yml.
--- - name: Installation Ansible hosts: "{{ host }}" environment: CONFIG_SHELL: /data/data/com.termux/files/usr/bin/sh tasks: - name: Install packages command: apt -y install autoconf clang libffi-dev libgmp-dev make openssl-dev python2-dev - name: Install pycrypto pip: name=pycrypto executable=pip2 - name: Install ansible pip: name=ansible version=1.8 executable=pip2
Bon avec tout ça j’ai oublié de vous parler de Mosh, au prochain épisode
Déjà 6 avis pertinents dans Réinstallation et Termux API
Les commentaires sont fermés.
Petit rectificatif, si je peux me permettre : pas besoin d’être root pour utiliser Termux-api (ou en tout cas pas pour tout).
Merci pour ton commentaire, je commençais à me sentir seul lol. Je viens de tester tous les exemples de l’article et besoin de root à chaque fois pour Termux API. Après je découvre comme tout le monde, il y a peut-être des choses qui m’échappent.
Tcho !
Très intéressant article, merci !
Pour info, je n’ai pas non plus besoin d’être root (sur un S4 avec Android 5.0.1). En revanche, les scripts ne s’exécutent que si je laisse Termux décider du shell (l’outil fix-shebang n’y fait rien). Peut-être que le fait d’être root permet juste de forcer l’exécution du shell. My 2 cents.
J’en profite pour poser une question annexe : lorsqu’on a créé des fichiers sur la sdcard, après avoir configuré le file system avec termux-setup-storage, est-ce qu’ils sont retrouvés par Termux après une réinstallation ?
Merci !
Xavier.
Désolé je ne saurais pas te répondre et je me suis éloigné de Termux quelques semaines.
Raison N°1 : J’ai attendu d’offrir à Madame un téléphone pour Noël ce qui me permet d’avoir deux marques différentes et deux périphériques différents pour tester Termux hi, hi, hi
Raison N°2 : Sur les deux téléphones Termux déconne grave, ça m’a un peu soûlé surtout qu’il y a eu plusieurs MAJ il y a quelques jours, j’avais l’espoir que ça passe tout seul mais apparemment non. Il faut donc que je creuse mais je n’aime pas ça (les outils peu fiables qu’il faut déboguer)
Tcho !
Sur mon portable raison trouvée, bash était désinstallé… bizarre car je ne me souviens pas avoir testé une commande qui aurait pu produire un tel résultat. Sur celui de madame, problème avec le clavier Android par défaut, je ne doute pas qu’avec le Hacker’s Keyboard ça va fonctionner
Tcho !