How to Mount Google Drive in Linux Using “Google Drive OCamlfuse” Client

google-drive-ocamlfuse is a FUSE-based file system written in Ocaml, which makes it possible to mount Google Drive on Linux Systems.

  1. Gives full read/write access to ordinary files/folders.
  2. Provides read-only access to Google Docs, sheets and slides.
  3. Access to Trash (.trash) Directory.
  4. Duplicate file handling.
  5. Support for multiple accounts.

Installation of google-drive-ocamlfuse on Linux

1. Google-drive-ocamlfuse tool can be easily installed on Ubuntu 15.04, 14.10, 14.04, etc. and it’s derivatives by adding a PPA repository.

$ sudo add-apt-repository ppa:alessandro-strada/ppa
$ sudo apt-get update
$ sudo apt-get install google-drive-ocamlfuse

On Archlinux, you can easily install google-drive-ocamlfuse from the AUR package.

$ yaourt -S google-drive-ocamlfuse

For most of other Linux distributions, you have to compile it from source using following commands.

2. If you are running a different Linux distribution, you must compile it from source, for this you must have OPAM (an OCaml package manager) installed on the system.

$ sudo apt-get install ocaml camlp4-extra

Note: If the above process reports that OPAM could not be installed, as it is not provided by any package for your distribution, you have to compile and install it using following commands.

$ git clone
$ cd opam
$ ./configure
$ make
$ sudo make install

3. Next install the C tools and libraries: m4, curl, fuse, and sqlite3. These dependencies packages are must installed on the system, in order to compile the executable. If you are using a .deb based distribution, you can easily install these libraries using following command.

$ sudo apt-get install m4 libcurl4-gnutls-dev libfuse-dev libsqlite3-dev

4. Once all above needed dependencies are installed, start and update the OPAM.

$ opam init
$ opam update

5. Now it’s time to install google-drive-ocamlfuse.

$ opam install google-drive-ocamlfuse

Usage of Google-drive-ocamlfuse

6. Firstly, you need to authorize google-drive-ocamlfuse with your Google account by running following command.

$ google-drive-ocamlfuse

As soon as you fire the above command, a page will open in default web browser and it will ask you to authorize and allow google-drive-ocamlfuse to access your Google Drive with your Google account. Enter your Email and Password.

Google Account
Google Account

7. Once you logged into your Google account, you need to accept the term and services.

Allow Application
Allow Application

8. You are asked to enter your Password once again.

Gmail Password
Gmail Password

9. Allow and give permission to application gdfuse OAuth2 to access your Google account.

Allow Access gdfuse OAuth2
Allow Access gdfuse OAuth2
A Passionate GNU/Linux Enthusiast and Software Developer with over a decade in the field of Linux and Open Source technologies.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.


Leave a Reply
  1. I guess this article is pretty old now, but I tried it today and, after installing lots of additional packages on my Debian machine, I got it working. As noted, it’s pretty slow. Also, $USERNAME didn’t seem to exist but maybe this is just shorthand for inserting the real username of the google drive being mounted?

  2. Does anyone know how this method compares to eg grive/grive2? The latter methods, I’ve had bad experiences with, so I’ll try this new method now, thanks a lot for the article…

  3. Is it possible to edit this to use lynx instead of “xdg-open”, “firefox” or “google-chrome”. Been following this to install on one of my headless servers which has no gui and therefore no graphical browser.

  4. Hi,

    I have had to change:
    gdfuse#default /mnt/gdrive fuse uid=1000,gid=1000 0 0
    gdfuse#default /mnt/google_drive fuse uid=1000,gid=1000,user 0 0

    • @Jacques,

      Thanks for sharing the tip, but could you tell us why it needed and how you came to know? it will help us to correct the article with correct explanation. So, that end users will know more better about the command.

  5. Thank you very much for this tutorial. It is really very useful.
    The question is what to do if you only have the command line and no GUI (so no browser too ;-).

    Thank you.

  6. google-drive-ocamlfuse on Lubuntu 14.04 is too slow. I tried to use vi to edit a text file in google-drive, when I pasted about 2KB text from clipboard, it took around 60 seconds. The same thing works smoothly on, it seems that pCloud do caching well.

    • google-drive-ocamlfuse doesn’t allow to change file timestamps. Commands “cp -p” or “rsync -a” always create files with present modification time. Therefore, rsync is useless.

  7. i can not install it. have an error. can you help?
    [root@server opam]# opam install google-drive-ocamlfuse
    [WARNING] Running as root is not recommended
    The following actions will be performed:
    ∗ install sqlite3 4.0.3 [required by google-drive-ocamlfuse]
    ∗ install google-drive-ocamlfuse 0.5.22
    ===== ∗ 2 =====
    Do you want to continue ? [Y/n] y

    =-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    [google-drive-ocamlfuse] Archive in cache
    [sqlite3] Archive in cache

    =-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    [ERROR] The compilation of sqlite3 failed at “ocaml -build”.
    Processing 1/2: [sqlite3: ocamlfind remove]
    #=== ERROR while installing sqlite3.4.0.3 =====================================#
    # opam-version 1.2.2
    # os linux
    # command ocaml -build
    # path /root/.opam/system/build/sqlite3.4.0.3
    # compiler system (4.02.3)
    # exit-code 1
    # env-file /root/.opam/system/build/sqlite3.4.0.3/sqlite3-6418-1872ec.env
    # stdout-file /root/.opam/system/build/sqlite3.4.0.3/sqlite3-6418-1872ec.out
    # stderr-file /root/.opam/system/build/sqlite3.4.0.3/sqlite3-6418-1872ec.err
    ### stdout ###
    # /usr/bin/ocamlopt.opt unix.cmxa -I /usr/lib64/ocaml/ocamlbuild /usr/lib64/ocaml/ocamlbuild/ocamlbuildlib.cmxa /usr/lib64/ocaml/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
    # Failure: pkg-config failed for cflags.
    ### stderr ###
    # Package sqlite3 was not found in the pkg-config search path.
    # Perhaps you should add the directory containing `sqlite3.pc’
    # to the PKG_CONFIG_PATH environment variable
    # No package ‘sqlite3′ found
    # E: Failure(“Command ”/usr/bin/ocamlbuild’ lib/libsqlite3_stubs.a lib/ lib/sqlite3.cma lib/sqlite3.cmxa lib/sqlite3.a lib/sqlite3.cmxs -tag debug’ terminated with error code 2″)

    =-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    The following actions were aborted
    ∗ install google-drive-ocamlfuse 0.5.22
    The following actions failed
    ∗ install sqlite3 4.0.3
    No changes have been performed

    =-=- sqlite3.4.0.3 troobleshooting =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    => This package relies on external (system) dependencies that may be missing. `opam depext sqlite3.4.0.3′ may help you find the correct installation for your system.

  8. Anothher way for automounting (in KDE)
    I just added the commando ‘google-drive-ocamlfuse ~/google-drive’ to Menu -> System Settings -> Startup & Shutdown -> Autostart

    works great

  9. I got many error after $ opam init
    like this

    [WARNING] Errors while parsing flowtype.0.9.1 OPAM file, skipping.
    [ERROR] Your version of OPAM (1.1.1) is not recent enough to read ~/.opam/repo/default/packages/flowtype/flowtype.0.9.2/opam. Upgrade OPAM to a more recent version (at least 1.2) to read this file correctly.

    How to fix it ?

  10. Whenever I run the google-drive-ocamlfuse It brings up a webpage that has an error on it..
    400. That’s an error.

    Error: invalid_request

    Invalid response_type: code\\

    Learn more

    Request Details
    That’s all we know.

  11. Thanks for sharing the guidelines. I can’t see the Files / Directorties those are shared with me in the mount.
    Please let me know how to view them as well.


Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.