Installare OneDrive su Ubuntu

Installare OneDrive su Ubuntu. Ecco come fare [Aggiornato]

Installare OneDrive su Ubuntu con un nuova procedura. E bene si, oggi vedremo un altro modo per scaricare i nostri file presenti su OneDrive di Microsoft.

In un altra guida vi avevo parlato di come sincronizzare OneDrive su Ubuntu purtroppo, grazie anche alla segnalazione di un lettore, i passaggi indicati non sono più validi. Vi state chiedendo perché?

Bene la risposta è semplice, lo sviluppatore ha rimosso il pacchetto dato che ha rilasciato una nuova versione del programma.

Installare OneDrive su Ubuntu

onedrived è un client OneDrive basato su CLI di terze parti creato da Xiangyu Bu. Fornisce la sincronizzazione di base di OneDrive. Pulito e semplice.

Per eseguire l’installazione di OneDrive su Ubuntu abbiamo bisogno di utilizzare il comando Git. Puoi installarlo utilizzando il seguente input:

sudo apt-get install git

Dopo aver installato procediamo con il comando:

git clone https://github.com/xybu/onedrived-dev.git ~/.odd

cd ~/.odd

in questo modo cloniamo i file onedrive-d in una cartella nascosta. Successivamente esegui il programma di installazione:

sudo python3 ./setup.py install

Installare ngrok per OneDrive

Non abbiamo ancora terminato. Per la corretta installazione di OneDrive su Ubuntu abbiamo bisogno di utilizzare ngrok.

E’ una piattaforma di terze parti per l’inoltro dell’integrazione webhook. onedrived utilizza ngrok per consentire le richieste webhook dall’API OneDrive al client onedrived senza richiedere il port forwarding o simili.

Scarica ngrok da qui ed estrai il ngrokfile. Copialo in una directory utilizzando il seguente comando:

sudo mv ~/path/to/extracted/ngrok /usr/bin/ngrok

Configurazione OneDrive su Ubuntu

Dopo aver installato onedrived, è necessario autorizzarlo per accedere al proprio account Microsoft. Per fare ciò, eseguire il comando seguente e configurare interattivamente onedrived:

onedrived-pref account add

Questo comando avvierà una procedura guidata interattiva per aiutarti a configurare onedrived. Innanzitutto, copia l’URL indicato nel browser che preferisci e completa l’accesso e le autorizzazioni Microsoft. Dopo aver concesso l’accesso non autorizzato, ti porterà su una pagina bianca vuota. Copia l’URL di questa pagina, incollalo nuovamente nel prompt interattivo.

Configurare OneDrive su Ubuntu
Configurare OneDrive su Ubuntu

Ora, occorre selezionare quale unità virtuale utilizzare con onedrived. Impostare l’unità virtuale eseguendo il comando seguente:

onedrived-pref drive set

Ti guiderà attraverso alcune domande sulla configurazione interattiva. Puoi lasciare la directory predefinita confermando con “Y”.

Configurare OneDrive su Ubuntu - Path Sincronizzazione
Configurare OneDrive su Ubuntu – Path Sincronizzazione

Infine, puoi avviare il demone OneDrive eseguendo:

onedrived start

A questo punto, onedrived inizierà a sincronizzare i file OneDrive con il computer locale. Questo potrebbe richiedere del tempo se si dispone di un OneDrive particolarmente grande. Puoi accedere ai file navigando su Home> OneDrive.

Impostazione cartelle predefinite Nautilis

Non è semplice e immediata l’installazione OneDrive su Ubuntu. Per questo, dobbiamo cambiare le cartelle predefinite utilizzate da Nautilus. Per fare ciò, apri il file di configurazione della directory dell’utente usando il seguente comando:

gedit ~/.config/user-dirs.dirs

Il file user-dirs.dirs indica a GNOME / Nautilus quali cartelle utilizzare per il Desktop / Documenti / Immagini / etc come predefinite. Modifica i percorsi predefiniti, impostando le cartelle OneDrive (assicurati di aver creato le cartelle sul OneDrive) in questo modo:

Configurare cartelle predefinite OneDrive su Ubuntu
Configurare cartelle predefinite OneDrive su Ubuntu

Infine, esegui il comando seguente per assicurarti che le modifiche vengano mantenute:

echo “enabled=false” > ~/.config/user-dirs.conf

Abilitare sincronizzazione OneDrive su Ubuntu all’accesso

Il demone onedrive-d non si avvia automaticamente da solo, quindi per assicurarci che OneDrive inizi a sincronizzarsi automaticamente quando accedi, dobbiamo dire a GNOME di avviarlo al login. Esegui il comando gnome-session-properties  per aprire la configurazione di GNOME. Quindi, aggiungere un programma di avvio per eseguire il comando onedrived start .

Infine, disconnettiti e riconnettiti per riavviare Nautilus e d’ora in poi GNOME e Nautilus dovrebbero sincronizzarsi perfettamente con il tuo OneDrive.

Conclusione

Abbiamo visto con installare OneDrive su Ubuntu. Questa guida è l’aggiornamento il precedente articolo sincronizzare OneDrive su Ubuntu .

Se riscontrate problemi su come configurare OneDrive su Ubuntu o avete segnalazioni da fare scrivetemi nei commenti!

Non perderti altre interessanti guide di questo blog!

Autore Bartolomeo

Consulente tecnico con la passione per il web e la tecnologia e tutto quello che le ronza intorno.
Nel tempo libero scrivo articoli per il mio blog su argomenti vari, in particolare su configurazione Windows, Linux e WordPress.

Condividi questo articolo!

15 Commenti

Frank Rispondi

Ciao.
Dopo aver clonato la repository git, e dopo aver cambiato la directory con il comando cd, al comando sudo python3 ./setup.py install , python lancia un’eccezione:

Traceback (most recent call last):
File “./setup.py”, line 11, in
from setuptools import setup, find_packages
ModuleNotFoundError: No module named ‘setuptools’

Come posso risolvere?
Grazie in anticipo.

Frank Rispondi

Ho risolto facendo il comando

sudo apt-get install python3-setuptools

Però, alla fine, mi sono trovato in questa situazione…

Installed /usr/local/lib/python3.8/dist-packages/Send2Trash-1.5.0-py3.8.egg
Searching for psutil
Reading https://pypi.org/simple/psutil/
Downloading https://files.pythonhosted.org/packages/c4/b8/3512f0e93e0db23a71d82485ba256071ebef99b227351f0f5540f744af41/psutil-5.7.0.tar.gz#sha256=685ec16ca14d079455892f25bd124df26ff9137664af445563c1bd36629b5e0e
Best match: psutil 5.7.0
Processing psutil-5.7.0.tar.gz
Writing /tmp/easy_install-1164z_03/psutil-5.7.0/setup.cfg
Running psutil-5.7.0/setup.py -q bdist_egg –dist-dir /tmp/easy_install-1164z_03/psutil-5.7.0/egg-dist-tmp-6jdn71hd
psutil/_psutil_common.c:9:10: fatal error: Python.h: File o directory non esistente
9 | #include
| ^~~~~~~~~~
compilation terminated.
error: Setup script exited with error: command ‘x86_64-linux-gnu-gcc’ failed with exit status 1

Quindi sembra che mi manchi l’header Python.h nella directory degli include?
Come posso aggiungerlo?

Grazie in anticipo.

Bartolomeo Rispondi

Ciao Franck,
occorre installare i tool di python. Ora non so che distribuzione stai utilizzando in ogni modo su Ubuntu per installare setuptool dalla command line ti basta lanciare il comando: sudo apt-get install python-setuptools mentre per Python 3.x usa il comando :sudo apt-get install python3-setuptools
Aggiornami nei commenti se non risolvi.
Saluti

Frank Rispondi

Grazie mille, ho risolto.

Però alla fine viene fuori questo

Installed /usr/local/lib/python3.8/dist-packages/psutil-5.7.0-py3.8-linux-x86_64.egg
Searching for onedrivesdk
Reading https://pypi.org/simple/onedrivesdk/
Downloading https://files.pythonhosted.org/packages/b3/76/9a3fe5b36079f5c40b33c89ad6f7737e3b8609010a80c9ed24d762ddb93e/onedrivesdk-2.0.tar.gz#sha256=4a1b3cf22570c21f083bea0a0e07b7d3aeab7a72b91abd09372a93b5fca2fba7
Best match: onedrivesdk 2.0
Processing onedrivesdk-2.0.tar.gz
Writing /tmp/easy_install-4uxibskc/onedrivesdk-2.0/setup.cfg
Running onedrivesdk-2.0/setup.py -q bdist_egg –dist-dir /tmp/easy_install-4uxibskc/onedrivesdk-2.0/egg-dist-tmp-012h7ol9
error: [Errno 20] Not a directory: ‘/tmp/easy_install-4uxibskc/onedrivesdk-2.0/setup.py/../NOTICE.rst’

E’ normale?

Bartolomeo Rispondi

Ciao Frank, ottimo mi fa piacere che hai risolto la problematica. Ti ringrazio anche per aver condiviso la soluzione al problema.
Ti saluto.
Bartolomeo

Frank Rispondi

Ciao Bartolomeo,

non riuscendo ad uscirne più da questo errore:
error: [Errno 20] Not a directory: ‘/tmp/easy_install-4uxibskc/onedrivesdk-2.0/setup.py/../NOTICE.rst’

Ho rifatto tutto da zero, seguendo la guida ufficiale (in inglese):
https://github.com/xybu/onedrived-dev

Come si può notare, in Prerequisites sono descritti anche i prerequisiti, che sono necessari per non avere problemi con le dipendenze:
PREREQUISITI:
– gcc
– python3-dev
– libssl-dev
– inotify-tools
– python3-dbus (or probably libdbus-glib-1-dev)

Quindi, per essere sicuri di averli installati, si può usare sudo apt-get install pacchetto1 pacchetto2 … . Quindi:
sudo apt-get install build-essential python3-dev libssl-dev inotify-tools python3-dbus libdbus-glib-1-dev

Inoltre, raccomanda di installare keyring, con il comando:
sudo pip3 install -U keyrings.alt

Poi si devono RIMUOVERE le vecchie versioni di onedrived, con il comando:
sudo pip3 uninstall onedrive_d onedrived

…e rimuovere file di configurazione obsoleti, tramite comando:
rm -rf ~/.onedrive ~/.onedrived

SUCCESSIVAMENTE, si segue la sezione “Install onedrived”. Ci sono più modi per installarlo, il più semplice è tramite pip3 (da ricordare che GIT E’ NECESSARIO):
pip3 install –user git+https://github.com/xybu/onedrived-dev.git
(si toglie –user se si vuole installare per tutto il sistema, e non solo per l’utente corrente).

INFINE, PRIMA DI APRIRE ONEDRIVED, SI CONFIGURA L’ACCOUNT.
Ci sono vari modi, consiglio quello iterattivo, con comando:
onedrived-pref account add

Bisogna seguire gli step, facendo il login da browser, e poi, quando si arriva alla pagina vuota, si deve copiare il link (che contiene l’autorizzazione), e incollarlo nel terminale, che è in attesa di quel link.

Spero di essere stato d’aiuto.

Riccardo Rispondi

Caro Bartolomeo,
sono arrivato al restart del servizio ma ottengo questo errore:

———————————
/usr/local/lib/python3.8/dist-packages/onedrived-2.0.0-py3.8.egg/onedrived/od_models/bidict.py:6: UserWarning: bidict.OVERWRITE has been deprecated, use bidict.DROP_OLD instead.
on_dup_val = bidict.OVERWRITE
Traceback (most recent call last):
File “/usr/local/bin/onedrived”, line 11, in
load_entry_point(‘onedrived==2.0.0’, ‘console_scripts’, ‘onedrived’)()
File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 490, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 2854, in load_entry_point
return ep.load()
File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 2445, in load
return self.resolve()
File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 2451, in resolve
module = __import__(self.module_name, fromlist=[‘__name__’], level=0)
File “/usr/local/lib/python3.8/dist-packages/onedrived-2.0.0-py3.8.egg/onedrived/od_main.py”, line 179, in
def main():
File “/usr/local/lib/python3.8/dist-packages/click-7.1.2-py3.8.egg/click/decorators.py”, line 130, in decorator
cmd = _make_command(f, name, attrs, cls)
File “/usr/local/lib/python3.8/dist-packages/click-7.1.2-py3.8.egg/click/decorators.py”, line 98, in _make_command
return cls(
File “/usr/local/lib/python3.8/dist-packages/daemonocle-1.0.1-py3.8.egg/daemonocle/cli.py”, line 32, in __init__
File “/usr/local/lib/python3.8/dist-packages/daemonocle-1.0.1-py3.8.egg/daemonocle/core.py”, line 37, in __init__
File “/usr/local/lib/python3.8/dist-packages/daemonocle-1.0.1-py3.8.egg/daemonocle/core.py”, line 258, in _is_detach_necessary
File “/usr/local/lib/python3.8/dist-packages/daemonocle-1.0.1-py3.8.egg/daemonocle/core.py”, line 224, in _is_socket
File “/usr/lib/python3.8/socket.py”, line 544, in fromfd
return socket(family, type, proto, nfd)
File “/usr/lib/python3.8/socket.py”, line 231, in __init__
_socket.socket.__init__(self, family, type, proto, fileno)
OSError: [Errno 88] Socket operation on non-socket

———————————

Qualche suggerimento? Grazie mille. Bellissima guida.

Bartolomeo Rispondi

Ciao Riccardo,
sembrerebbe un errore di python prova ad aggiornare/installare l’ultima versione
sudo apt-get install python3
Vedi anche se hai i seguenti prerequisiti:
PREREQUISITI:
– gcc
– python3-dev
– libssl-dev
– inotify-tools
– python3-dbus (or probably libdbus-glib-1-dev)
Saluti

Riccardo Rispondi

Grazie mille! Provo e ti faccio sapere 🙂

Bartolomeo Rispondi

Ciao Riccardo,
grazie mille per il tuo commento. Se hai difficoltà scrivimi nei commenti.
Saluti

Gherardo Rispondi

Salve,

$ onedrived-pref account add
onedrived-pref: comando non trovato

a me da questo errore

Quando do il comando
$ onedrived-pref account add
$ onedrived-pref account add

Bartolomeo Rispondi

Ciao Gherardo,
se provi a lanciare il comando anteponendo il Sudo?
Rivedrò anche la guida appena mi riesce possibile dato che il pacchetto utilizzato è in continuo aggiornamento.
Fammi sapere

Faramir Rispondi

Salve,
anch’io ottengo
$ onedrived-pref account add
onedrived-pref: comando non trovato
$ sudo onedrived-pref account add
sudo: onedrived-pref: comando non trovato
Grazie per le dritte che potrai darci (ottimo lavoro sempre!)
F.

Bartolomeo Rispondi

Ciao Faramir,
grazie della segnalazione, stesso problema di Gherardo a quanto pare.
Vi lascio il link di github https://github.com/xybu/onedrived-dev per verificare.
Purtroppo ancora non ho avuto tempo di vedere e vostre segnalazioni ma vi aggiornerò a breve.
Saluti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ho letto la policy privacy e accetto il trattamento dei miei dati personali in conformità al D.Lgs. 196/2003