Montare il vostro google drive come file system (e farlo all'avvio)

Tags: 

Per poter fare il mount di un account google drive su un path possiamo usare l'applicazione google-drive-ocamlfuse:

https://github.com/astrada/google-drive-ocamlfuse

Attraverso il filesystem FUSE è possibile usare lo spazio google drive come un normale disco.

Una volta installata l'app, occorre usare il comando senza opzioni per generare la directory con le configurazioni di sistema (~/.gdfuse/default), e creare il collegamento con google drive (attraverso un processo di autorizzazione).

google-drive-ocamlfuse [-label XXX]

(L'opzione -label è facoltativa, e serve solo per poter fare più autorizzazioni ad account google diversi, ognuno con una sua label).

Una volta fatta l'autorizzazione, per effettuare il mount occorre eseguire questo comando:

google-drive-ocamlfuse [-label label] <mountpoint>

Per effettuare lo smontaggio, occorre invece usare il comando generico di fuse:

fusermount -u <mountpoint>

 

Come fare per attivare il mount direttamente all'avvio?

Ci viene in aiuto systemd, e in particolare i servizi utente. Creiamo un file "googledrive.service" nella cartella "~/.config/systemd/user/" (creaiamola se non c'è) dove andremo a impostare un nuovo servizio:

[Unit]
Description=Google Drive mount
After=network-online.target
Wants=network-online.target
 
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/google-drive-ocamlfuse -m 'MOUNTPOINT'
ExecStop=/usr/bin/fusermount -u 'MOUNTPOINT'
 
[Install]
WantedBy=default.target

L'utilizzo dei servizi utente è lo stesso dei normali servizi (quindi attraverso il comando systemctl), dobbiamo solo ricordarci di usare il parametro "--user":

# Per abilitare il servizio
systemctl --user enable googledrive.service
# Per lanciarlo la prima volta
systemctl --user start googledrive.service

Per maggiori informazioni sui servizi utente consultare la pagina https://wiki.archlinux.org/index.php/Systemd/User

Aggiungi un commento

Scrivi la risposta in lettere (ad esempio "tre" e non "3")