It’s 2019 and Google still doesn’t offer an official Linux client for Drive. Thankfully there are many great options out there. We’re going to take a look at what is available.
There are three main types of clients:
- Mount Google Drive as a network drive
- Sync your Google Drive to a local folder
- Access Google Drive in an FTP-like interface for graphical transfer.
Advantages of mounting as Network Drive
Mounting your GSuite account as a network filesystem is one of the best ways to access your files in the cloud. A network filesystem accesses your files on-demand, when you use them. This differs from a traditional sync-style client which mirrors remote content in a local folder.
On-demand access has huge benefits over a traditional sync-style client. First and foremost, it doesn’t pre-download any of your data, and files you aren’t using don’t take up valuable hard drive space. You access just what you need, when you need it. Google’s own Drive File Stream product replaced their sync client for business users for these very reasons.
Google Drive mounting options on Linux
These projects don’t come with some of the features you might expect if you’re used to operating on Mac or Windows and are generally not for the faint of heart. But they do work, and they are free.
There are also commercial options available such as ExpanDrive that do have a full desktop client with advanced features such as offline sync, background synchronization and many other powerful improvements over a standard network drive.
If you’re looking for a more powerful option to mount Google Drive on Linux ExpanDrive is a great option.
The ExpanDrive software has been available on Mac and Windows for over 10 years and has millions of users. Starting with ExpanDrive version 7 on a wide variety of Linux distributions including Ubuntu, Red Hat, Linux Mint, CentOS, Debian and most other popular distributions.
What makes ExpanDrive different are a variety of features to ensure a stable and high quality end-user experience.
ExpanDrive has multi-threaded background uploads, a full graphical user interface to facilitate bulk transfer, integrated search and version management along with much more. The main product page goes into detail on many of these features.
ExpanDrive supports personal Google Drive accounts as well as GSuite Drive accounts, including support for Team Drives. It securely connects to the Google Drive API and transparently supports ADFS and 2FA.
ExpanDrive runs We provide deb and RPM based installers and have an integrated auto-updater to help you stay up to date.
Debian based distributions
For Debian based distributions like Ubuntu start by download our latest .deb package. With modern versions of apt you can download and install the package using the apt command. This will also pull in the required dependencies.
sudo apt install ./ExpanDrive_MAJOR.MINOR.PATCH_amd64.deb
Alternatively you can install the package with dpkg, but then you’ll need to use apt to fulfill the dependencies.
Redhat based distributions
Download our latest RPM and use yum to install ExpanDrive and the required dependencies.
sudo yum localinstall ./ExpanDrive-MAJOR.MINOR.PATCH.x86_64.rpm
“ExpanDrive lets you mount remote sftp drives and it actually works! I.e. no long delays or dropped connection in the middle of a save.”
Allan Odgaard, TextMate
“My first impression after reading ExpanDrive’s promotional description last week was that it sounded too good to be true. One week later, I’m pretty sure it actually is that good.”
John Gruber, Daring Fireball
ExpanDrive connects your files as a fast network drive and accesses all of your data on demand. You can browse and open any file from within your file manager or from the command-line. ExpanDrive builds native access to Google Drive into Linux.
It’s written in OCaml and is designed to be run from the command-line. There are deb packages maintained by the author, but beyond that you’re own your own. Checkout the project github page for instructions on how to install.
Once you’ve installed google-drive-ocamlfuse you start the authentication process by running
This command sets up the default configuration directory in
~/.gdfuse/default and launches your system browser to do an oauth authentication to get the API key. Now perform the filesystem mount by simply running:
$ google-drive-ocamlfuse mountpoint
mountpoint is the absolute path to your intended mountpoint in the filesystem. Google-drive-ocamlfuse supports multiple accounts via the -label command-line option, letting you mount different labels to different mountpoints. Run the fusermount -u command to perform an unmount.
GCSF is another FUSE based project that runs on Linux (and Mac) that runs a fairly similar manner to google-drive-ocamlfuse. Th primary author, Sergiu Pușcaș spun the project out of his diploma thesis and remains the primary author. In the spirit of developing in trendy languages, GCSF is written in Rust. Sergiu notes, as of April 2019 that he has very little time to dedicate to the project. It is definitely still maintained, but perhaps not under active development anymore. If you’re looking for details on how to try it out, check his github project page.
There are many more open-source sync style clients available on Linux for Google Drive. Most of them have fairly dubious levels of quality and support. There are also some more polished commercial options available as well.
Insync is the most feature-rich sync client for Google Drive on Linux. The user interface runs out of your system tray and is fairly similar to other desktop sync clients on Mac and Windows. It offers support for multiple accounts and selective sync. It is a $49.95 one-time license fee to get all the features.
You can think of overGrive like a less expensive version Insync. It only costs $4.95 and comes with a few extra features, like back-only, and converting Google Docs to office files for offline editing.
Rclone is a free open-source app that bills itself as rsync for cloud storage, which is a reasonable approximation of how this works. Rclone is designed as a command-line utility to push and pull data from the cloud, rather than a continuous sync solution like overGrive or Insync. It support a huge array of cloud storage back-ends, which is certainly nice to have.