GNU/Linux >> Tutoriels Linux >  >> Linux

Termux transforme Android en environnement de développement Linux

Vous avez enfin compris comment quitter Vim et vous pouvez écrire la version la plus optimisée de "Hello World" de ce côté du Mississippi. Il est maintenant temps d'améliorer votre jeu ! Découvrez Termux pour Android.

Qu'est-ce que Termux ?

Termux est un émulateur de terminal Android et un environnement Linux. Cela signifie en pratique que vous pouvez installer Termux sur la plupart des appareils Android et faire presque tout ce que vous feriez dans un environnement de développement Linux complet sur cet appareil. Tout cela a l'air cool, mais vous vous demandez probablement :"Pourquoi voudrais-je coder sur mon téléphone sur un écran tactile ? Cela semble tout simplement horrible." Commencez à penser davantage aux tablettes associées à un clavier ou à des Chromebooks qui peuvent désormais exécuter des applications Android. Ce sont des appareils très bon marché qui peuvent maintenant être utilisés pour initier les gens au piratage et au développement de Linux. Je sais que beaucoup d'entre nous dans la communauté Linux ont commencé par installer Linux sur un ancien PC.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Les tablettes et les Chromebooks sont les vieux ordinateurs junky de cette génération. Et il y a de quoi faire le tour. Pourquoi ne pas les utiliser pour présenter Linux à la prochaine génération ? Et puisque Termux peut être installé en un clic dans le Google Play Store, je dirais que Termux est le moyen le plus simple de présenter Linux à quiconque. Mais ne laissez pas tout le plaisir aux noobs. Termux peut répondre à bon nombre de vos besoins en matière d'environnement de développement Linux.

Termux est Linux, mais il est basé sur Android et s'exécute dans un conteneur. Cela signifie que vous pouvez l'installer sans accès root requis, mais cela signifie également que cela peut prendre un certain temps pour s'y habituer. Dans cet article, je vais décrire quelques trucs et astuces que j'ai trouvés pour que Termux fonctionne comme un environnement de développement à plein temps.

Où sont toutes mes affaires ?

La base du système de fichiers Termux que vous pouvez voir commence autour de /data/data/com.termux/files/ . Sous ce répertoire, vous trouverez votre répertoire personnel et le usr répertoire, où tous les packages Linux sont installés. C'est un peu bizarre, mais ce n'est pas grave, n'est-ce pas ? Vous auriez tort, car presque tous les scripts de la planète sont codés en dur pour /bin/bash . D'autres bibliothèques, exécutables et fichiers de configuration se trouvent à des endroits incompatibles avec d'autres distributions Linux.

Termux fournit de nombreux packages qui ont été modifiés pour fonctionner correctement. Essayez d'abord d'y regarder au lieu de créer une version personnalisée. Cependant, vous aurez probablement encore besoin de créer de nombreuses choses sur mesure. Vous pouvez essayer de modifier le code source de votre package, et même s'il est facile de changer de chemin, il vieillit rapidement. Heureusement, Termux est également fourni avec termux-exec. Termux-exec redirigera les chemins de script à la volée pour qu'ils fonctionnent correctement.

Vous pouvez toujours rencontrer des chemins codés en dur que termux-exec ne gère pas. Comme vous n'avez pas d'accès root dans Termux, vous ne pouvez pas simplement créer un lien symbolique pour résoudre les problèmes de chemin. Cependant, vous pouvez créer une prison chroot. En utilisant le package PRoot, vous pouvez créer un chroot sur lequel vous avez un contrôle total et vous permet de modifier tout ce que vous voulez. Vous pouvez également créer des chroots de différentes distributions Linux. Si vous êtes un fan de Fedora, vous pouvez utiliser Termux et l'exécuter dans une prison chroot. Consultez la page PRoot pour plus de distributions et de détails sur l'installation, ou vous pouvez utiliser ce script pour créer une prison chroot Termux. J'ai seulement essayé le chroot Termux et le chroot Ubuntu. Le chroot Ubuntu avait quelques problèmes qui devaient être résolus, donc votre kilométrage peut varier en fonction de la version de Linux que vous choisissez.

Un utilisateur pour les gouverner tous

Dans Termux, tout est installé et exécuté sous un seul utilisateur. Ce n'est pas vraiment un problème, plutôt quelque chose auquel vous devez vous habituer. Cela signifie également que les services et groupes d'utilisateurs typiques que vous connaissez peut-être sont introuvables. Et rien ne démarre automatiquement au démarrage, c'est donc à vous de gérer le démarrage et l'arrêt des services que vous pourriez utiliser, comme les bases de données, SSH, etc. Rappelez-vous également que votre seul utilisateur ne peut pas modifier le système de base, vous aurez donc besoin utiliser un chroot si vous avez besoin de le faire. Puisque vous n'avez pas de bons scripts de démarrage prédéfinis, vous devrez probablement créer les vôtres.

Pour le développement quotidien, j'avais besoin de Postgres, Nginx et Redis. Je n'avais jamais démarré ces services manuellement auparavant; normalement, ils démarrent et s'arrêtent automatiquement pour moi, et j'ai dû faire quelques recherches pour savoir comment démarrer mes services préférés. Voici un échantillon des trois services que je viens de mentionner. Espérons que ces exemples vous orienteront dans la bonne direction pour utiliser votre service préféré. Vous pouvez également consulter la documentation d'un package pour trouver des informations sur la façon de le démarrer et de l'arrêter.

Postgres

Début :pg_ctl -D $PREFIX/var/lib/postgresql start

Stop :pg_ctl -D $PREFIX/var/lib/postgresql stop

Nginx

Début :nginx

Arrêt :nginx -s stop

Redis

Démarrer :redis-server $PREFIX/etc/redis.conf

Stop :kill "$("$PREFIX/bin/applets/cat" "$PREFIX/var/run/redis_6379.pid"

Dépendances cassées

Android est construit différemment des autres versions de Linux, et son noyau et ses bibliothèques ne correspondent pas toujours à ceux des logiciels Linux typiques. Vous pouvez voir les problèmes de portage courants lorsque vous essayez de créer un logiciel dans Termux. Vous pouvez contourner la plupart d'entre eux, mais il peut être trop difficile de corriger toutes les dépendances de votre logiciel.

Par exemple, le plus gros problème que j'ai rencontré en tant que développeur Python est que le noyau Android ne prend pas en charge les sémaphores. La bibliothèque multi-traitement de Python dépend de cette fonctionnalité, et résoudre ce problème par moi-même était trop difficile. Au lieu de cela, je l'ai contourné en utilisant un mécanisme de déploiement différent. Avant d'utiliser uWSGI pour exécuter mes services Web Python, je suis donc passé à Gunicorn. Cela m'a permis de naviguer à l'aide de la bibliothèque multi-traitement Python standard. Vous devrez peut-être faire preuve d'un peu de créativité pour trouver des dépendances logicielles alternatives lors du passage à Termux, mais votre liste sera probablement très courte.

Termux de tous les jours

Lorsque vous utilisez Termux au quotidien, vous voudrez apprendre son écran tactile ou ses raccourcis clavier matériels. Vous aurez également besoin d'un éditeur de texte ou d'un IDE pour le codage. Tous les éditeurs probables basés sur la console sont disponibles via une installation rapide de package :Vim, Emacs et Nano. Termux est uniquement basé sur la console, vous ne pourrez donc pas installer d'éditeurs basés sur une interface graphique. Je voulais m'assurer que Termux avait un excellent IDE pour l'accompagner, j'ai donc construit l'éditeur Web Neutron64 pour qu'il s'interface de manière transparente avec Termux. Allez simplement sur Neutron64.com et installez Neutron Beam sur Termux pour commencer à coder.

Découvrez Termux et transformez vos anciens appareils Android en centrales de développement. Bon codage !


Linux
  1. Développement Flex sous Linux, qu'est-ce qu'un bon environnement libre ?

  2. C# dans un environnement Linux

  3. Où puis-je placer des bibliothèques tierces pour configurer un environnement de développement C++ Linux ?

  4. accessibilité des variables d'environnement sous Linux

  5. Android - Est-ce qu'Android est basé sur Linux ?

Comment installer des outils de développement sous Linux

Configurer l'environnement de développement WordPress local sous Linux

Comment installer l'environnement de développement Python 3 pour Ubuntu Linux

Variables d'environnement Linux

Qu'est-ce que Termux sur Android ?

Configuration d'un environnement de développement brillant sous Linux sur Windows 10