PsicoexcesosPsicoxInformaticosas

2022-02-08

Sincronización teléfono-escritorio

Tras varios intentos utilizando aplicaciones gráficas para sincronizar archivos del teléfono móvil (android) con el computador de escritorio (gnu/linux) he llegado como tantas veces a la convicción de que el manejo vía terminal es mucho más práctico (para cosas puntuales kdeconnect está muy bien y funciona de maravilla).

Lo que no esperaba es que fuese tan sencillo y útil. Aquí describo el procedimiento.

  1. Instalar termux y rclone en teléfono

Toda la “magia” del procedimiento se basa en termux un emulador de terminal para Android que se puede descargar en F-Droid y que además de ejecutar bash también permite descargar paquetes de varios repositorios.

Hay varias posibilidades para enviar y recibir archivos, desde rsync hasta scp, pero dado que ya hace tiempo uso rclone para respaldos, fue una agradable sorpresa ver que también está en los repositorios de termux.

Una vez instalado termux en el teléfono, ya se puede descargar e instalar rclone.

pkg install rclone

Pantalla de termux

  1. Configurar rclone

Lo siguiente es configurar una conexión con el computador/ordenador de escritorio (o para el caso, de cualquier otro dispositivo). Utilizo el tipo de conexión sftp, que implica tener sshd corriendo en la máquina destino (común en todos los sistemas gnu/linux). Una ventaja de utilizar rclone es que puede trabajar con múltiples configuraciones o máquinas-destino.

Por supuesto, hay que colocar en la configuración el número IP de la máquina destino porque sería un proceso más largo asignar un nombre fijo, etc. Como los routers tienen tendencia a asignar el mismo número a los mismos dispositivos hay alta probabilidad de que no haya que cambiarlo a menudo.

  1. Permitir a termux leer estructura de archivos

Este paso es necesario para poder acceder a los archivos del teléfono. Se puede hacer por la interfaz gráfica en los “ajustes” de Android o directamente en termux:

termux-setup-storage

  1. Ejecutar rclone

Para tener más opciones disponibles lo mejor sería tener configurado también rclone en el computador, supongamos una configuración llamada ‘MAQ’, y otra configuración llamada ‘TLF’ en el dispositivo Android. De este modo se puede iniciar la comunicación desde cualquiera de los dos dispositivos. Además se puede elegir una sincronización total (rclone sync ...) o lo que prefiero, un modo de copia, en el que el destino sólo se actualiza sin eliminar archivos.

rclone copy TLF:/storage/emulated/0/ MAQ:/home/usuario/destino

Para enviar archivos o directorios al teléfono se cambia la orden:

rclone copy MAQ:/home/usuario/origen TLF:/storage/emulated/0/destino

Lo más prudente sería crear unos ‘scripts’ en cada dispositivo para facilitar la ejecución. También se podría hacer periódicamente (con cronie en termux) que fue mi primera intención pero dada la movilidad del teléfono y el posible cambio de número IP he preferido hacerlo manualmente desde cualquiera de los dos dispositivos.

Hay que recordar que para que esto funcione debe estarse ejecuntando tanto termux como sshd (el servidor SSH) si el destino es el teléfono. Un inconveniente menor, porque la transferencia de archivos y directorios funciona muy bien, incluso en gran número.



^^^     · Escribe un comentario    · Apoya a PsicoExcesos