Guida verificata con Ubuntu: 20.04 22.04 24.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
In questa guida si descrivono le procedure di installazione e configurazione di Microsoft OneDrive.
OneDrive è un servizio di cloud storage offerto da Microsoft che permette di sincronizzare file tra diversi dispositivi e accedervi online. Per utilizzare OneDrive su Ubuntu, occorre installare client appositi, di cui due dei più popolari sono insync e OneDrive Client for Linux.
Preparativi
Bisogna innanzitutto disporre di un account Microsoft attivo. Se necessario, è possibile crearne uno da questa pagina.
- Qualora il proprio account Microsoft richieda un controllo di sicurezza e/o dell'identità su un dispositivo associato (ad esempio il proprio smartphone), assicurarsi che quest'ultimo sia a portata di mano per disporre eventuali autorizzazioni durante la procedura.
Installazione
Il pacchetto onedrive presente nei repository ufficiali è obsoleto e non più supportato. Per questo motivo di seguito verrà utilizzato quello presente nel repository OpenSuSE Build Service (OBS).
Ubuntu 20.04 e successive
Se non presente, creare con i privilegi di amministrazione la directory /etc/apt/keyrings.
Importare la chiave della firma dei pacchetti del repository OneDrive digitando nel terminale il comando:
wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_$(lsb_release -rs)/Release.key | gpg --dearmor | sudo tee /etc/apt/keyrings/obs-onedrive.gpg -
Importare il repository di OneDrive con il comando:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/obs-onedrive.gpg] https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_$(lsb_release -rs)/ ./" | sudo tee /etc/apt/sources.list.d/onedrive.list
Assicurarsi che il file /etc/apt/keyrings/obs-onedrive.gpg e i relativi permessi di esecuzione siano attribuiti all'utente root. In caso contrario modificarli con le istruzioni contenute in questa guida.
Installare il il pacchetto onedrive con le opzioni indicare nel seguente comando:
sudo apt install --no-install-recommends --no-install-suggests onedrive
Al termine della procedura, sarà possibile avviare OneDrive (con il terminale ].
Avvio servizio
Concedere autorizzazione accesso
Per lanciare il tool si dovrà prima ottenere l'URL che servirà ad autorizzare il client alla connessione e all’accesso dell'account OneDrive.
Poiché l'autorizzazione scade in breve tempo, è necessario eseguire rapidamente i seguenti passaggi.
Nel terminale digitare il seguente comando:
onedrive
Verrà visualizzato nell'output un messaggio con l'indirizzo URL:
Authorize this app visiting: https://login.microsoftonline.com/common
Copiare e incollare l'indirizzo ottenuto nella barra degli indirizzi di un browser.
Inserire e confermare le credenziali d'accesso per OneDrive. La pagina del browser diventerà bianca e l’indirizzo URL cambierà (avrà nella parte finale il codice di conferma ?code=.
Nel terminale, alla dicitura
Enter the response uri:
copiare il nuovo indirizzo completo fornito dal browser.
Test configurazione sincronizzazione account
A fini di test, nessun file verrà scaricato, caricato o rimosso! Verrà creata una cartella OneDrive (se non esiste) nella directory home dell'utente per la sincronizzazione dei file.
Dopo aver configurato e autorizzato l'app a sincronizzare l'account, è possibile testare a eseguire il client, nel terminale eseguendo il comando:
onedrive --dry-run --sync
Se il test procede senza errori, proseguire alla Sincronizzazione dell'account.
Sincronizzazione
Sarà quindi possibile sincronizzare le directory e i file contenuti nel cloud con il sistema Ubuntu. A tal scopo digitare nel terminale il seguente comando:
onedrive --sync
Oppure utilizzare il seguente comando:
onedrive --sync --local-first
per caricare prima i file locali (dalla cartella OneDrive dell'utente) e poi scaricarli dal cloud.
Sincronizzare una sola cartella
Per sincronizzare solo una singola cartella, ad esempio la sottocartella "Pictures" nella directory OneDrive, eseguendo il comando:
onedrive --sync --single-directory 'Pictures'
Sincronizzare solo i file locali
Sincronizzare i file locali solo tramite il comando nel terminale il seguente comando:
onedrive --sync --upload-only
Sincronizzare solo le differenze in locale
Sincronizzare le differenze locali tramite il comando nel terminale il seguente comando:
onedrive --sync --download-only
Non rimuovere i file precedentemente sincronizzati
Sincronizzare i file locali solo tramite il comando nel terminale il seguente comando:
onedrive --sync --no-remote-delete
Sincronizzare file in remoto con LibreOffice
È possibile utilizzare LibreOffice per connettersi e sincronizzare file in remoto con il servizio cloud OneDrive.
Per sincronizzare un server remoto con LibreOffice, usare i seguenti metodi:
Aprire LibreOffice.
- A seconda dei casi seguire il percorso:
File → Apri in remoto
File → Salva in remoto
Fare clic su Aggiungi servizio.
Servizi
Accedendo ai servizi per la prima volta:
Impostare le finestre di dialogo e fare clic su OK.
Selezionare la casella di controllo Connessione sicura per accedere al servizio tramite il protocollo https e la porta 443.
Attivare la casella Memorizza password per salvare le proprie credenziali.
Condivisione Windows
Di seguito sono elencati i parametri necessari per la condivisione Windows:
- Tipo: Condivisione Windows
- Host: l'URL del server
- Condivisione: la condivisione Windows
- Utente e Password: nome utente e password dell'account MSN
- Etichetta: nome connessione
- Radice: percorso dell'account
Risoluzione problemi
Errore Synchronize
Qualora compaia il seguente messaggio di errore:
Configuring Global Azure AD Endpoints ERROR: Microsoft OneDrive API returned an error with the following message: Error Message: HTTP request returned status code 400 (Bad Request) Error Reason: xxxxxxxxxxx: The user could not be authenticated as the grant is expired. The user must sign in again. Trace ID: <<codice esadecimale>> Correlation ID: <<codice esadecimale>> Timestamp: 2023-06-25 15:11:17Z ERROR: Microsoft OneDrive API returned an error with the following message: Error Message: HTTP request returned status code 401 (Unauthorized) Error Reason: Access token is empty. Error Timestamp: 2023-06-25T15:11:17 API Request ID: <<codice esadecimale>> ERROR: Check your configuration as your refresh_token may be empty or invalid. You may need to issue a --reauth and re-authorise this client.
potrebbe essersi verificato un blocco nella sincronizzazione al server di Microsoft.
Per risolvere:
Ripetere la sincronizzazione del proprio account attivo scrivendo nel terminale il seguente comando:
onedrive --reauth
come suggerito nel messaggio di errore.Eseguire nuovamente i passaggi del paragrafo Sincronizzazione.
Errore firma durante aggiornamento
Qualora aggiornando l'applicazione compaia il seguente messaggio di errore:
gpgv:/var/lib/apt/lists/partial/download.opensuse.org_repositories_home:_npreining:_debian-ubuntu-onedrive_xUbuntu%255f22.04_._InRelease The following signatures were invalid: EXPKEYSIG B8AC39B0876D807E home:npreining OBS Project <home:npreining@build.opensuse.org>
ripetere la procedura per importare la chiave della firma dei pacchetti, digitando il comando:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/obs-onedrive.gpg] https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_$(lsb_release -rs)/ ./" | sudo tee /etc/apt/sources.list.d/onedrive.list
Ulteriori risorse
Rclone con Microsoft OneDrive (guida dal sito ufficiale del progetto)
Problemi noti (guida nella pagina ufficiale del progetto)
Cloud Computing (pagina enciclopedica)