Grive2 – An Alternative Google Drive Desktop Client for Linux

Grive2 is an independent open source implementation of Google Drive client for GNU/Linux. It is written in C++ and interacts with Google Drive using Google’s REST API.

It works by simply downloading the files in your Google Drive to the current directory and either uploading/downloading changes back to your Google Drive or down to your Linux desktop respectively.

Grive2 is a fork of “GriveGoogle Drive client and its pitching features include Drive REST API and partial sync.

Features in Grive2

  • Free & open source. Licensed under GNU GPL v2.
  • Support for full two-sided synchronisation between Google Drive and local directory.
  • See the actions Grive2 wants to perform without performing them using the –dry-run option.
  • Specify a single directory ti syn with using the -s subdir option.
  • Exclude directories to be synced using –ignore option.
  • Option to exclude files using Perl regexp.

Some vital features that are not yet supported in Grive2 are Google Docs support and recursive change-checking process; meaning you will have to manually run grive for the app to sync your latest changes.

In my opinion, until the aforementioned features are included Grive2 will not be able to go head-to-head with other Google Drive client alternatives like CrossCloud or Rclone.

Install Grive2 in Ubuntu or Linux Mint via PPA

Enter the following into a new Terminal window:

$ sudo add-apt-repository ppa:nilarimogard/webupd8
$ sudo apt-get update
$ sudo apt-get install grive

For the detailed instructions for other Linux distributions, go here: http://yourcmc.ru/wiki/Grive2#Installation

How to Use Grive Google Drive in Linux

As I said, Grive will simply download / upload new or changed files back to your Google Drive from the directory you run it. So first create the new ‘grive‘ directory in your home directory and navigate inside it.

$ mkdir -p ~/grive
$ cd ~/grive

Now run the Grive2 using -a argument to assign it permission to access your Google Drive.

$ grive -a

After executing the above command, it will display a URL on the terminal – copy/paste this URL in a web browsera to grant Google Drive access to your Grive client by clicking on “Allow access” – an authentication code will be printed on the screen, copy/paste this code in ther terminal.

Connecting to Google Drive
Connecting to Google Drive
Grive Access to Google Drive
Grive Access to Google Drive

Once you enter code, it will start syncing your Google Drive to your local grive directory in your system.

If you want to sync again your Google Drive with your local grive directory, just run the grive command without -a option as shown.

$ cd ~/grive
$ grive

Perhaps you have had some experience using Grive but have you had any using Grive2? Take it for a spin and don’t forget to share and hit that recommend button. Your comments and suggestions are also welcome.

Divine Okoi is a cybersecurity postgrad with a passion for the open-source community. With 700+ articles covering different topics in IT, you can always trust him to inform you about the coolest tech.

Each tutorial at GeeksMint is created by a team of experienced writers so that it meets our high-quality writing standards.

4 thoughts on “Grive2 – An Alternative Google Drive Desktop Client for Linux”

  1. Is there any way to select GDrive folder to keep synchronized? I don’t want to synchronize the full GDrive locally.

    Reply
  2. https://hub.docker.com/r/ashael/grive/

    A Dockerized Google Drive client
    A Docker implementation for the Google Drive Client in https://github.com/vitalif/grive2

    For a first time Drive sync
    $ docker pull docker pull ashael/grive
    $mkdir /home/MyGoogleDriveFoldeName
    $cd /home/MyGoogleDriveFoldeName
    $ docker run -it -v $PWD:/home/grive -w /home/grive grive
    Then inside the Container

    $ grive -a
    Sync
    After this, for Sync only
    $ docker run –rm -v $PWD:/home/grive -w /home/grive –name “Gdrive” -u $(id -u):$(id -g) ashael/grive grive

    Reply

Got Something to Say? Join the Discussion...