GNU/Linux >> Tutoriales Linux >  >> Linux

Termux convierte Android en un entorno de desarrollo Linux

Entonces finalmente descubrió cómo salir de Vim y puede escribir la versión más optimizada de "Hello World" de este lado del Mississippi. ¡Ahora es el momento de mejorar tu juego! Echa un vistazo a Termux para Android.

¿Qué es Termux?

Termux es un emulador de terminal Android y entorno Linux. Lo que eso significa en la práctica es que puede instalar Termux en la mayoría de los dispositivos Android y hacer casi cualquier cosa que haría en un entorno de desarrollo completo de Linux en ese dispositivo. Todo eso suena genial, pero probablemente te estés preguntando, "¿por qué querría codificar en mi teléfono en una pantalla táctil? Eso suena horrible". Comience a pensar más en la línea de tabletas combinadas con teclados o Chromebooks que ahora pueden ejecutar aplicaciones de Android. Estos son dispositivos muy baratos que ahora se pueden usar para introducir a las personas en la piratería y el desarrollo de Linux. Sé que muchos de nosotros en la comunidad de Linux comenzamos instalando Linux en una PC vieja.

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

Las tabletas y las Chromebooks son las computadoras viejas y chatarras de esta generación. Y hay mucho para todos. ¿Por qué no usarlos para presentar Linux a la próxima generación? Y dado que Termux se puede instalar con un clic en Google Play Store, diría que Termux es la forma más fácil de presentar Linux a cualquier persona. Pero no dejes toda la diversión para los novatos. Termux puede adaptarse a muchas de sus necesidades para un entorno de desarrollo de Linux.

Termux es Linux, pero está basado en Android y se ejecuta en un contenedor. Eso significa que puede instalarlo sin necesidad de acceso de raíz, pero también significa que puede llevar un tiempo acostumbrarse. En este artículo, describiré algunos consejos y trucos que encontré para que Termux funcione como un entorno de desarrollo de tiempo completo.

¿Dónde están todas mis cosas?

La base del sistema de archivos Termux que puede ver comienza alrededor de /data/data/com.termux/files/ . Debajo de ese directorio, encontrará su directorio de inicio y el usr directorio, donde están instalados todos los paquetes de Linux. Esto es un poco extraño, pero no es gran cosa, ¿verdad? Estaría equivocado, porque casi todos los scripts del planeta están codificados para /bin/bash . Otras bibliotecas, ejecutables y archivos de configuración son incompatibles con otras distribuciones de Linux.

Termux proporciona muchos paquetes que han sido modificados para funcionar correctamente. Intente buscar allí primero en lugar de hacer una compilación personalizada. Sin embargo, es probable que aún necesite crear muchas cosas a la medida. Puede intentar modificar el código fuente de su paquete y, aunque cambiar las rutas es fácil, envejece rápidamente. Afortunadamente, Termux también viene incluido con termux-exec. Termux-exec redirigirá las rutas de los scripts sobre la marcha para que funcionen correctamente.

Todavía puede encontrarse con algunas rutas codificadas que termux-exec no maneja. Como no tiene acceso de root en Termux, no puede simplemente crear un enlace simbólico para solucionar problemas de ruta. Sin embargo, puede crear una cárcel chroot. Usando el paquete PRoot, puede crear un chroot sobre el que tiene control total y le permite modificar lo que quiera. También puede hacer chroots de diferentes distribuciones de Linux. Si eres fanático de Fedora, puedes usar Termux y ejecutarlo en una cárcel chroot. Consulte la página de PRoot para obtener más distribuciones y detalles de instalación, o puede usar este script para hacer una cárcel chroot de Termux. Solo probé el chroot de Termux y el chroot de Ubuntu. El chroot de Ubuntu tenía algunos problemas que debían solucionarse, por lo que su rendimiento puede variar según la versión de Linux que elija.

Un usuario para gobernarlos a todos

En Termux, todo se instala y ejecuta bajo un solo usuario. Esto no es tanto un problema, sino algo a lo que debes acostumbrarte. Esto también significa que los servicios y grupos de usuarios típicos con los que podría estar familiarizado no se encuentran por ninguna parte. Y nada se inicia automáticamente en el arranque, por lo que depende de usted administrar el inicio y la detención de los servicios que pueda usar, como bases de datos, SSH, etc. Recuerde también que su único usuario no puede modificar el sistema base, por lo que necesitará para usar un chroot si necesita hacer eso. Dado que no tiene secuencias de comandos de inicio agradables y preestablecidas, probablemente tendrá que crear algunas propias.

Para el desarrollo diario, necesitaba Postgres, Nginx y Redis. Nunca antes había iniciado estos servicios manualmente; normalmente se inician y se detienen automáticamente, y tuve que investigar un poco para descubrir cómo iniciar mis servicios favoritos. Aquí hay una muestra de los tres servicios que acabo de mencionar. Con suerte, estos ejemplos lo guiarán en la dirección correcta para usar su servicio favorito. También puede consultar la documentación de un paquete para encontrar información sobre cómo iniciarlo y detenerlo.

Postgres

Inicio:pg_ctl -D $PREFIX/var/lib/postgresql start

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

Nginx

Inicio:nginx

Detener:nginx -s stop

Redis

Inicio:redis-server $PREFIX/etc/redis.conf

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

Dependencias rotas

Android está construido de manera diferente a otras versiones de Linux, y su kernel y bibliotecas no siempre coinciden con las del software típico de Linux. Puede ver los problemas comunes de portabilidad al intentar compilar software en Termux. Puede solucionar la mayoría de ellos, pero puede ser demasiado esfuerzo arreglar todas las dependencias de su software.

Por ejemplo, el mayor problema con el que me encontré como desarrollador de Python es que el kernel de Android no admite semáforos. La biblioteca de multiprocesamiento en Python depende de esta funcionalidad, y arreglar esto por mi cuenta fue demasiado difícil. En cambio, lo pirateé usando un mecanismo de implementación diferente. Antes estaba usando uWSGI para ejecutar mis servicios web de Python, así que cambié a Gunicorn. Esto me permitió enrutar usando la biblioteca estándar de multiprocesamiento de Python. Puede que tenga que ser un poco creativo para encontrar dependencias de software alternativas al cambiar a Termux, pero su lista probablemente será muy pequeña.

Termux cotidiano

Cuando use Termux a diario, querrá aprender sus atajos de teclado de pantalla táctil o de hardware. También necesitará un editor de texto o IDE para la codificación. Todos los posibles editores basados ​​en consola están disponibles a través de una instalación rápida de paquetes:Vim, Emacs y Nano. Termux solo se basa en la consola, por lo que no podrá instalar ningún editor basado en una interfaz gráfica. Quería asegurarme de que Termux tuviera un excelente IDE que lo acompañara, así que construí el editor Neutron64 basado en la web para interactuar sin problemas con Termux. Simplemente vaya a Neutron64.com e instale Neutron Beam en Termux para comenzar a codificar.

Echa un vistazo a Termux y convierte tus viejos dispositivos Android en potencias de desarrollo. ¡Feliz codificación!


Linux
  1. Configuración del entorno de desarrollo de python virtualenv en Debian Linux

  2. Kali Linux en Android usando Linux Deploy

  3. Desarrollo Flex en Linux, ¿cuál es un buen entorno libre?

  4. C# en entorno linux

  5. Android:¿Android está basado en Linux?

Cómo instalar herramientas de desarrollo en Linux

Configurar el entorno de desarrollo local de WordPress en Linux

Cómo instalar el entorno de desarrollo de Python 3 para Ubuntu Linux

Variables de entorno de Linux

¿Qué es Termux en Android?

Configuración de un entorno de desarrollo brillante dentro de Linux en Windows 10