OneDrive en Ubuntu 23.04

Imagen
OneDrive en Ubuntu

Al igual que Google Drive, OneDrive no dispone de un cliente oficial para Linux y toca tirar de utilidades de la comunidad para poder acceder a la nube de Microsoft.

He optado por instalar dos aplicaciones que se complementan perfectamente:

  • OneDrive Client for Linux: Una utilidad para la línea de comandos que permite sincronizar los ficheros locales con la nube. Admite diferentes ficheros de configuración para sincronizar diferentes cuentas.
  • OneDrive Client for Linux GUI: Permite administrar la configuración de onedrive mediante una interfaz gráfica que admite la creación y administración de perfiles, para poder trabajar con varias cuentas. Admite iniciar y parar la sincronización y presenta una ventana que monitoriza la actividad. Crea un icono en la barra de tareas.

Instalación de OneDrive Client for Linux

En la documentación, en el apartado de instalación, vemos las instrucciones para instalar a partir de paquetes compilados y en el caso de Ubuntu recomienda recurrir a un repositorio de OpenSuSE:

wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_23.04/Release.key | gpg --dearmor | sudo tee /usr/share/keyrings/obs-onedrive.gpg > /dev/null

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/obs-onedrive.gpg] https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_23.04/ ./" | sudo tee /etc/apt/sources.list.d/onedrive.list

sudo apt-get update

sudo apt install --no-install-recommends --no-install-suggests onedrive

Importante: Si tienes una instalación previa, este enlace te explica como eliminar cualquier rastro de la misma que pudiera interferir con OneDrive Client for Linux.

Instalación de Python 3.9

La versión de Python que instala Ubuntu 23.4, la 3.11.4, es incompatible con OneDrive Client for Linux GUI, así que el primer paso será instalar Python 3.9, la última versión compatible.

Una primera consulta me puso sobre la pista de un repositorio que permite instalar en Ubuntu diferentes versiones de Python (deadsnakes), pero solo está disponible para versiones LTS. Siguiendo con la búsqueda, di con una página en alemán (¡gracias Google Translate!) que explica perfectamente los pasos a seguir para instalar cualquier versión de Python.

Muy importante: Tal como advierte la página anterior, ni se te ocurra utilizar fórmulas que impliquen cambiar la versión de Python3 instalada por defecto. Ubuntu recurre a Python para diversas tareas y puedes romper el sistema. Precisamente por eso, el último paso no es el típico make install, sino make altinstall.

El primer paso será descargar todas las dependencias que nos permitirán compilar nuestra nueva versión de Python:

sudo apt-get install build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev  libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev libffi-dev uuid-dev 

A continuación descargamos de la web de Python la versión que vayamos a instalar. En mi caso, elegí la 3.9.13 (reconozco que por error, había posteriores dentro de la 3.9).

Una vez descargado descomprimimos el fichero (tar zxvf nombre_del_fichero_comprimido) y accedemos a la carpeta que se ha creado.

cd python3-9

./configure

make

sudo make altinstall

El proceso tardará unos minutos por más rápido que sea tu equipo. De forma predeterminada, los programas ejecutables se instalan en /usr/local/bin/pythonX.Y, mientras que todos los archivos o módulos de Python lo harán en /usr/local/lib/pythonX.Y (X e Y tomarán los valores de la versión que estemos instalando, 3.9 en este caso).

Puedes comprobar que se ha instalado de manera correcta:

python3.9 --version

La instrucción anterior te devolverá el siguiente texto:  Python 3.9.13, así que funciona todo y ya puedes eliminar la carpeta en la que compilaste (python3-9).

Por último, si necesitaras desinstalar esa versión de Python, tendrás que hacerlo manualmente, puedes ver las instrucciones en el mismo enlace.

Instalación de OneDrive Client for Linux GUI

Una vez disponemos de una versión de Python3 adecuada, la instalación es muy sencilla:

git clone https://github.com/bpozdena/OneDriveGUI.git>

cd OneDriveGUI

python3.9 -m pip install -r requirements.txt

Ya tenemos instalada nuestra GUI y solo queda ejecutarla:

cd src/

python3-9 OneDriveGUI.py