Cómo Convertir un Teléfono Android Antiguo en un Servidor Independiente Usando Termux Boot
Muchos de nosotros tenemos un smartphone Android antiguo acumulando polvo en casa. La pantalla está ligeramente agrietada, la batería no mantiene bien la carga, y no puedes venderlo por un precio razonable. Sin embargo, por dentro hay un procesador quad-core perfectamente funcional y un par de gigabytes de RAM. Este hardware convierte el dispositivo en un excelente servidor doméstico para bots de Telegram, scripts de automatización ligeros o un nodo SSH local.
El terminal Termux ha convertido Android en un entorno Linux completo desde hace tiempo. Pero hay un inconveniente molesto. Si el smartphone se apaga por batería agotada o se reinicia después de una actualización, todos los procesos en ejecución morirán. Tendrás que abrir manualmente la aplicación, escribir comandos y reiniciar los servicios desde cero.
El addon Termux:Boot ayuda a resolver este problema. Es una utilidad que se conecta al evento de arranque del sistema operativo y ejecuta scripts del usuario.
Cómo Funciona el Autoinicio en Android
Android es estricto con los procesos en segundo plano. El sistema no permite que las aplicaciones se inicien junto con el SO sin el consentimiento directo del usuario y permisos especiales.
Termux:Boot funciona como un puente entre el evento del sistema BOOT_COMPLETED y tu entorno Linux dentro de Termux. Cuando el smartphone se enciende, el addon recibe una señal del sistema, busca en el directorio designado del usuario y ejecuta los archivos ejecutables encontrados allí en orden.
Hay un matiz con la firma de aplicaciones aquí. Termux y Termux:Boot se comunican a través de derechos de acceso compartidos. Debido a las reglas de seguridad de Android, ambas aplicaciones deben estar firmadas con la misma clave de desarrollador.
Si instalaste Termux principal desde F-Droid, entonces el plugin Termux:Boot también debe venir estrictamente desde F-Droid. Intentar mezclar una compilación de Google Play con un APK de F-Droid resultará en un error de acceso. Si quieres probar los últimos commits, los desarrolladores suben compilaciones de depuración a GitHub Actions. Pero recuerda: cambiar la fuente de instalación requerirá eliminar completamente Termux y todos sus plugins.
Configuración Paso a Paso
El esquema de configuración es simple. Todo se reduce a crear una carpeta y un par de archivos de texto.
Primero, necesitas instalar el addon Termux:Boot en sí. Después de la instalación, asegúrate de encontrar su icono en el menú de aplicaciones y tócalo una vez. Esto le otorga al addon permiso para interceptar el autoinicio del sistema. Sin esta acción, Android simplemente bloqueará el inicio en segundo plano.
Luego abre el terminal Termux y crea el directorio para los scripts:
mkdir -p ~/.termux/boot/
Todos los archivos colocados en esta carpeta se convertirán en escenarios de autoinicio. Si hay múltiples archivos en la carpeta, el plugin los ejecutará en orden alfabético.
Para evitar que el smartphone caiga en sueño profundo cinco minutos después del inicio, el comando termux-wake-lock es útil al principio de los scripts. Fuerza a Android a mantener la CPU en estado activo.
Ejemplos de Scripts Funcionales
Recorramos un par de escenarios prácticos. Una tarea común es obtener acceso SSH al dispositivo inmediatamente después de que el sistema se inicia.
Creemos el archivo ~/.termux/boot/start-sshd:
#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock
sshd
Asegúrate de hacer el archivo ejecutable, de lo contrario el sistema lo ignorará:
chmod +x ~/.termux/boot/start-sshd
Ahora cuando reinicies el teléfono, Termux levantará el servidor SSH en segundo plano. Podrás conectarte a él a través de la red sin ninguna interacción en pantalla.
Si usas el paquete termux-services para gestionar demonios del sistema (un equivalente a systemd en distribuciones Linux regulares), el script de inicio se ve así:
#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock
source /data/data/com.termux/files/usr/etc/profile.d/start-services.sh
Crea este archivo en ~/.termux/boot/start-services, dale permisos de ejecución, y todos los servicios habilitados a través del comando sv-enable se iniciarán automáticamente.
Casos de Uso Prácticos
El valor principal del proyecto radica en la autonomía completa. El smartphone se convierte en un mini-servidor silencioso con su propia fuente de alimentación ininterrumpida integrada.
Aquí tienes algunos escenarios claros:
- Alojamiento de bots de Telegram. El bot se inicia con el dispositivo y funciona sin supervisión constante.
- Sincronización de archivos mediante Syncthing. El teléfono funciona como un nodo 24/7 para respaldar fotos o documentos.
- Monitoreo de red doméstica. Un script verifica periódicamente la disponibilidad del router o servicios externos y envía notificaciones en caso de fallos.
- Servidor de base de datos local como SQLite o PostgreSQL para recopilar registros de dispositivos del hogar inteligente.
Depuración y Dificultades
No existen soluciones perfectas, y Termux:Boot tiene sus propias peculiaridades.
El ahorro de energía agresivo en los firmware Android modernos tiende a terminar procesos en segundo plano. MIUI, One UI y EMUI son especialmente culpables de esto. Para que el plugin funcione sin problemas, ve a la configuración de batería de Android y desactiva la optimización de batería para Termux y Termux:Boot. En firmware similares a MIUI, también debes permitir manualmente que el addon se autoinicie en la configuración de la aplicación.
Luego vale la pena verificar la funcionalidad de registro. Si tu script no se está iniciando, redirige la salida de errores a un archivo directamente en el script:
#!/data/data/com.termux/files/usr/bin/sh
exec 2>&1
exec 1>/sdcard/termux-boot.log
termux-wake-lock
echo "Boot completed at $(date)"
De esta manera verás inmediatamente si el script tropezó con rutas de variables de entorno o no pudo encontrar el binario requerido.
Después de actualizar aplicaciones o flashear el dispositivo, a veces necesitas iniciar Termux:Boot manualmente a través del icono en el escritorio.
Conclusión
Termux:Boot es un plugin extremadamente simple con una única tarea, y la realiza bien. El código fuente en Java ocupa un espacio mínimo, y la lógica es comprensible para cualquiera que esté familiarizado con bash básico.
Si planeas construir un servidor doméstico o un sistema de automatización compacto a partir de un smartphone antiguo, este addon te ahorrará tiempo durante reinicios accidentales del dispositivo.
Proyectos relacionados