En mi ordenador utilizo Linux la mayoría de las veces, pero también Windows, es por ello que me gusta OneDrive al estar tan integrado en este sistema. Sin embargo en Linux la cosa cambia: no hay gestor nativo de OneDrive, por lo que la sincronización se queda fuera.

Pero como siempre, los usuarios saben cómo arreglárselas sin necesidad de soporte por parte de la compañía, y es así cómo nació onedrive-d, un programa creado por el usuario xybu que nos trae sincronización total con OneDrive por medio de un demonio (o daemon en inglés, así se denominan los procesos en segundo plano) que vigila la carpeta que le especifiquemos para sincronizarla con el servidor de OneDrive.

Sin embargo su instalación no es del todo sencilla ya que requiere de un montón de dependencias, así que os explicaré cómo instalarlo en vuestro sistema.

Antes de nada

He intentado hacerlo de la forma más general posible, es decir, que sea independiente de distribuciones, pero como siempre el nombre de los paquetes y su disponibilidad variará según la distribución que utilicéis. En mi caso estoy realizando el proceso desde Arch Linux, pero el nombre de los paquetes no debería variar mucho. Aún así, al ser paquetes bastante conocidos no tendréis problemas en encontrarlos.

Para no llenar el artículo de miles de comandos en cada una de las instrucciones, os dejo aquí la forma general de instalar paquetes en las distribuciones más conocidas.

Si utilizáis Ubuntu o cualquiera de sus derivados (Lubuntu, Xubuntu, Kubuntu, Linux Mint, elementaryOS, Deepin, etc), el comando es:

sudo apt-get install nombredelpaquete

En Fedora 21 o anteriores:

sudo yum install nombredelpaquete

Y para versiones posteriores a la 22:

sudo dnf install nombredelpaquete

Para Arch Linux:

sudo pacman -S nombredelpaquete

Creo que estas son las más conocidas, de todos modos si veis que falta alguna dejadnos un comentario y os ayudaré en el proceso.

Requisitos

Como digo, el programa necesita de un montón de dependencias que necesitaremos satisfacer antes de instalarlo, así que primero vamos con la más básica: python. El programa ha sido desarrollado en python, por lo que debéis instalar dicho paquete. Normalmente o la propia distribución lo trae ya instalado o ya debéis de haber usado un programa que utilice python, pero de todos modos podéis comprobar si lo tenéis instalado ejecutando python ó python3 en caso de que el comando sin la versión os devuelva una versión antigua.

Con ello se os abrirá la consola de python donde, entre otras cosas, podréis ver la versión que tenéis instalada, la cual debe ser 3.4 o superior.

1

Bien, ahora ya tenemos lo más básico, sin embargo necesitamos dos cosas más: el gestor de paquetes de python (pip) y el paquete de desarrollo de python, ya que una de las dependencias del programa lo requiere. Normalmente el paquete de pip suele llamarse python-pip y el paquete de desarrollo python-dev en la mayoría de las distribuciones, sino, podéis consultarlo.

Ahora, necesitamos instalar dos paquetes desde pip, por lo que ejecutaremos el siguiente comando:

sudo pip install daemonocle psutil

Esto instalará el paquete daemonocle psutil, ambos dependencias básicas del programa, y los cuáles si todo ha ido bien y tenéis todas las dependencias necesarias producirá el siguiente resultado:

onedrive-d

Y con esto ya tenemos las dependencias básicas. Sí, habéis leído bien, básicas. Os explico.

El programa funciona íntegramente por consola, pero sin embargo podemos ejecutar una versión gráfica para la configuración del programa. Si queremos dicha versión gráfica necesitaremos dos dependencias más cuyo nombre varía según la distribución, así que tendréis que instalar el paquete python3-gi si estáis en Debian o Ubuntupygobject3 en Fedorapython-gobject en ArchLinux ó python3-gobject en OpenSUSE. Obviamente desde el gestor de paquetes de vuestro sistema, no desde pip.

Y como última dependencia, totalmente opcional pero muy recomendable instalarla, es inotify-tools (como tal podéis instalarla ya que el nombre es igual en todas las distribuciones), y digo recomendable porque este paquete nos permite ejecutar el monitor a tiempo real, que se encarga de vigilar la sincronización según sea necesaria, por ejemplo, si ponemos un nuevo archivo en la carpeta de OneDrive el programa lo detectará automáticamente y lo subirá. Si no instalamos esta dependencia se comprobará la carpeta cada cierto tiempo, aunque este tiempo es configurable.

Y ya estamos listos para instalar

Ya os avisé de que el programa tenía muchas dependencias, pero no os preocupéis, que ya estamos en la recta final, ahora sólo nos queda descargar el programa e instalarlo. Para descargarlo tenemos dos opciones, podemos clonar el repositorio desde Git o descargar un .zip con el código fuente. Si tenéis instalado Git os recomiendo este método, ya que sólo tendréis que ejecutar este comando:

git clone https://github.com/xybu/onedrive-d-old.git

Si no tenéis instalado Git no importa, símplemente descargad el código fuente desde este enlace:

Descargar onedrive-d

Descomprimís el archivo y ya tenéis todo listo para instalar. Para ello, abrimos una terminal y nos dirigimos a la carpeta donde tengamos descargado (y descomprimido si es el caso) onedrive-d y ejecutamos lo siguiente:

sudo python3 setup.py install

Esto registrará el paquete y lo instalará. Después, limpiamos archivos temporales:

sudo python3 setup.py clean

Y creamos los archivos de configuración:

mkdir ~/.onedrive
cp ./onedrive_d/res/default_ignore.ini ~/.onedrive/ignore_v2.ini

Creamos un archivo que sirva como log:

sudo touch /var/log/onedrive_d.log
sudo chown 'TuNombreDeUsuario' /var/log/onedrive_d.log
Ojo: Cambiad donde pone ‘TuNombreDeUsuario’ por el nombre de usuario que tengas en el equipo. Como alternativa puedes utilizar el comando whoami.

Y ya tenemos el programa instalado, sólo nos falta configurarlo. Y aquí podemos hacer dos cosas: instalarlo mediante la configuración visual o utilizando la línea de comandos, que es el método que yo explicaré, ya que la configuración visual es muy sencilla y no necesita instrucciones.

A partir de aquí, por tanto, irá todo a través de terminal, pero si en lugar de hacerlo como lo explico preferís la interfaz gráfica os bastaría con ejecutar lo siguiente:

onedrive-pref --ui=gtk

Recordad que necesitáis las dependencias de la GUI anteriormente mencionadas, sino no os funcionará.

Dicho esto, para ejecutar la configuración en modo terminal ponemos el siguiente comando:

onedrive-pref

Con ello nos aparecerá lo siguiente:

onedrive-d

Tendréis que visitar la URL que se muestra en la terminal (normalmente podréis hacer CTRL + Clic para ir directamente al sitio), iniciar sesión con vuestra cuenta de Microsoft y darle permisos a onedrive-d para acceder a ella. Y después, simplemente copiamos la URL de respuesta y la pegamos en el programa, pulsamos intro y continuamos con la instalación.

5

Ahora nos preguntará dónde queremos colocar el directorio de OneDrive, si queremos cambiar los números del programa (los ajustes numéricos del programa, como por ejemplo cada cuánto tiempo se comprueban los cambios en la carpeta en el caso de que no tengáis la dependencia antes comentada) o si queremos editar la lista de ignorados. Si no sabéis cómo configurarlo o queréis dejarlo por defecto, responded a todo que no.

4

Y listo. Si no habéis ajustado nada, el programa por defecto nos creará una carpeta en nuestra carpeta de usuario llamada OneDrive en la cual se descargarán todos los archivos y será donde tenemos que poner lo que queramos para que se sincronice.

Ahora sólo nos queda ejecutar el siguiente comando para iniciar el programa:

onedrive-d start

Con ello se mostrará el siguiente mensaje:

onedrive-d

Y comenzará a descargar todo lo que tengamos almacenado en OneDriveTodo esto en segundo plano, así que podéis cerrar la ventana de la terminal sin problemas.

Y cada vez que queráis consultar el estado del programa, tan sólo tendréis que ejecutar lo siguiente:

onedrive-d status

Que os devolverá, entre otras cosas, el PID del proceso, si está o no sincronizándose y el porcentaje de memoria y CPU que está utilizando.

onedrive-d

Realmente es un proceso bastante engorroso debido a todas las dependencias que necesita el programa, pero una vez instalado todo, funciona a la perfección y no da ningún tipo de problema. Y con todo esto dicho, ¿qué os parece el programa? ¿Utilizáis OneDrive en vuestro Linux o preferís utilizar clientes como DropBox que sí que ofrecen programas nativos?