>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Shell

Cómo Convertir un Teléfono Android Antiguo en un Servidor Linux de Bolsillo o Escritorio Sin Acceso Root

Casi todos tienen un smartphone antiguo acumulando polvo en un cajón. La pantalla está intacta, la batería aún mantiene un par de horas, y el procesador tiene ocho núcleos—pero tirarlo a la basura parece un desperdicio. El destino típico de un dispositivo así es permanecer inactivo durante años hasta que la batería finalmente se hincha.

Muchos han intentado instalar distribuciones Linux en Android a través de VNC, pero usualmente esta experiencia termina en decepción: retraso salvaje de la interfaz, sin aceleración 3D adecuada, y complicaciones interminables con permisos root. Recientemente descubrí el repositorio linux-android del desarrollador mayukh4. El proyecto resuelve este problema elegantemente. Usando un par de scripts basados en Termux y Termux-X11, el teléfono se transforma en una estación de trabajo completa con un escritorio gráfico o un centro de domótica activo las 24 horas. No se requiere root.

mayukh_builds (3)

Dos Escenarios en un Solo Repositorio

El autor dividió el proyecto en dos ramas de uso independientes, que pueden ejecutarse simultáneamente en el mismo dispositivo si se desea.

La primera opción es un escritorio gráfico completo. El script despliega un entorno de tu elección (XFCE4, LXQt, MATE o KDE Plasma), canaliza el audio a través de PulseAudio y configura la aceleración de gráficos por hardware. Desde el primer momento, obtienes el navegador Firefox, reproductor VLC, Python 3 con el gestor de paquetes pip, OpenSSH e incluso Wine para ejecutar programas Windows x86 a través de la emulación Box64 y Hangover.

La segunda opción es un servidor de domótica. El script levanta un contenedor Ubuntu ligero a través de proot-distro y compila Home Assistant Core dentro. El resultado es un servidor de domótica local que controla bombillas y enchufes Wi-Fi, consumiendo apenas vatios del cargador del teléfono.

Cómo Funcionan la Pila Gráfica y la Aceleración 3D

El problema principal con las guías antiguas para ejecutar Linux en teléfonos era el uso de clientes VNC lentos. Aquí, la imagen se envía directamente a través de Termux-X11. Esta es una aplicación separada que sirve como pantalla X11 rápida para el entorno Termux.

El autor manejó los gráficos correctamente. El script detecta automáticamente el modelo de GPU a través de las propiedades del sistema Android, ignorando la marca del smartphone (ya que las líneas de Samsung pueden tener chips tanto Snapdragon como Exynos).

Si el dispositivo tiene un chip Qualcomm Snapdragon con gráficos Adreno, el sistema importa el controlador Vulkan de código abierto Turnip junto con Zink (traducción de OpenGL sobre Vulkan). Esto ofrece un rendimiento 3D casi nativo e interfaz fluida. Si el smartphone funciona con un procesador con gráficos Mali o PowerVR, el entorno cambia al renderizador de software SwRast. Para Mali, el autor recomienda razonablemente elegir entornos ligeros como LXQt o XFCE, ya que KDE Plasma pesado en un renderizador de software presentará un retraso notable.

Todos los parámetros gráficos se guardan en el archivo de configuración ~/.config/linux-gpu.sh. Si lo deseas, puedes editarlo manualmente y ajustar las banderas de Mesa—por ejemplo, forzar una versión específica de OpenGL o habilitar el modo de depuración.

Trabajo Remoto a través de SSH

Mirar una pantalla de smartphone de cinco pulgadas cuando trabajas con una terminal o código no siempre es conveniente. El desarrollador anticipó esto e incluyó un servidor OpenSSH en el paquete base.

Dado que Termux no tiene privilegios de root, el servidor SSH escucha en el puerto no estándar 8022. Puedes conectar al smartphone desde una laptop o PC en la red local con un solo comando:

ssh u0_a123@192.168.1.42 -p 8022

El nombre de usuario de Termux típicamente sigue el patrón u0_a123 (puedes encontrarlo con el comando whoami). Los archivos se pueden transferir convenientemente a través de scp estándar o cualquier cliente SFTP familiar. Solo añade el host a ~/.ssh/config en tu computadora principal, configura el inicio de sesión con claves, y el teléfono se convierte en un sandbox remoto silencioso para pruebas y compilaciones de código.

Matices con Home Assistant

Convertir un smartphone en un servidor de domótica parece tentador, pero es importante entender las limitaciones técnicas de Android que el autor advierte honestamente en la documentación.

Dado que Home Assistant Core se ejecuta dentro de un contenedor proot sin privilegios de superusuario:

  1. mDNS y el descubrimiento automático de dispositivos en la red local no funcionan. A partir de Android 10, el sistema bloquea el acceso a /proc/net/dev, por lo que los enchufes y bombillas inteligentes (por ejemplo, TP-Link Kasa) deben añadirse manualmente por sus direcciones IP.
  2. Sin acceso a la pila Bluetooth del teléfono.
  3. No puedes conectar un stick USB Zigbee o Z-Wave externo sin un kernel personalizado y acceso root.
  4. Esto es específicamente Home Assistant Core, no Home Assistant OS completo. Los add-ons del catálogo de add-ons de la comunidad que requieren Docker no se pueden ejecutar aquí, pero las integraciones integradas funcionan perfectamente.

Para integraciones en la nube como Tuya o Smart Life, no hay tales restricciones—se conectan a través de la API del desarrollador y se gestionan sin problemas.

Instalación y Ejecución

Para la instalación, necesitarás el propio Termux (obtenlo estrictamente desde F-Droid, ya que la versión de Google Play ha sido abandonada desde hace mucho tiempo) y Termux-X11 desde el repositorio de GitHub.

Antes de ejecutar el script principal, debes actualizar la base de datos de paquetes y evitar que la CPU entre en modo de suspensión:

termux-wake-lock
pkg upgrade -y

El comando termux-wake-lock evita que el sistema operativo mate el proceso de compilación cuando la pantalla se oscurece. Después de eso, puedes clonar y ejecutar el script del escritorio:

curl -O https://raw.githubusercontent.com/mayukh4/linux-android/main/termux-linux-setup.sh
chmod +x termux-linux-setup.sh
bash termux-linux-setup.sh

Durante el proceso, el script preguntará qué shell gráfica instalar y si necesitas la capa de compatibilidad Wine. La instalación toma de 10 a 30 minutos.

Un detalle de implementación interesante: el script tiene una función safe_install_pkg personalizada. Analiza los metadatos del paquete a través de apt-cache y verifica el bloque Conflicts de antemano. Si el sistema ya tiene un paquete en conflicto (por ejemplo, diferentes construcciones de cargadores Vulkan), el script omite cuidadosamente el componente problemático en lugar de fallar con un error.

El escritorio se inicia con el comando:

bash ~/start-linux.sh

Después de eso, simplemente abre la aplicación Termux-X11, donde aparecerá el escritorio.

Si tu objetivo es configurar Home Assistant, ejecuta el script separado setup-homeassistant.sh. Crea un entorno Ubuntu, instala las dependencias de Python y compila los módulos requeridos. La interfaz web del servidor se abre en cualquier navegador de la red local en la dirección http://<ip-телефона>:8123 después del inicio.

Quién Encontrará Útil Este Proyecto

Los scripts de Mayukh4 eliminan la necesidad de ensamblar un entorno de trabajo a partir de instrucciones dispersas de foros. Todos los problemas comunes, incluyendo conflictos de dependencias y procesos eliminados por el gestor de fondo de Android, ya están manejados aquí.

El proyecto es perfecto para quienes quieren:

  • experimentar con Linux y la línea de comandos sin comprar una Raspberry Pi o configurar máquinas virtuales;
  • obtener un servidor de bolsillo para tareas y experimentos de Python en segundo plano;
  • ejecutar un centro de domótica económico en hardware antiguo;
  • construir una estación de trabajo móvil compacta conectando un teclado y ratón Bluetooth al smartphone.

Si tienes un smartphone sin usar con un procesador de 64 bits y 3-4 GB de RAM, este repositorio le da una excelente oportunidad a una segunda vida.

Proyectos relacionados