Transfer files, see notifications and send SMS using an open source extension

You want to connect Android to Ubuntu to transfer files, see Android notifications, and send SMS text messages from your desktop — but how?

Next time need to transfer a file from your phone to PC don’t bother emailing it to yourself: use GSConnect

Easy: all you need is a modern Linux distro like Ubuntu and an open-source GNOME Shell extension called ‘GSConnect‘.

GSConnect is a free, feature packed add-on for the GNOME Shell desktop. It lets you connect your Android phone to Ubuntu over a wireless network, no USB cable required.

In this post we look at what features this extension offers and how it works, and show you how to install GSConnect on Ubuntu 18.04 LTS or above so that you can try it out for yourself!

Connect Your Android Phone to Ubuntu

Let’s start by addressing the big ask: why you might want to connect an Android phone to Ubuntu (or any other desktop PC).

The simple answer (for me) is convenience.

I use my Android phone (nothing fancy, just a Moto G 5S Plus with Android 8.1 Oreo) a lot, and I use my Ubuntu PC (running the latest Ubuntu release, ofc) a lot, too.

Both of these are powerful, productive devices, and when they play nicely with each it helps save me time, hassle and effort.

For instance, if I want to send a photo from Android to Ubuntu to edit it in GIMP, I can use GSconnect to do it in just a few simple taps, wirelessly. I don’t have to hunt for and attach a cable, mount my phone, browse the filesystem for the right folder, hope I drag out the correct file out…

Another example for you: if my bluetooth mouse runs out of battery while I’m working (which, useless trivia alert, it does — too often!) I can use my phone’s touchscreen as a touchpad on Ubuntu and keep on working.

Pretty neat, huh?

It’s these kind of features that make GSConnect super handy to have around. Think of it as a veritable swiss army knife of integration and interoperability.

GSConnect vs KDE Connect

Now, some of you reading this post might be thinking: “These features sounds familiar…” — and if they do, it’s because they are.

GSConnect does not require any KDE or Qt dependencies. It’s totally standalone.

GSConnect is a JavaScript port of KDE Connect, a Qt-based app that we (and plenty of others) have written plenty of paragraphs about in the past.

Both KDE Connect and GSConnect work in similar ways. Both act as a bridge between devices. They let Android devices communicate securely with a Linux PC (and vice versa), enabling them to exchange data, surface system features, leverage controls, and more.

So the main differences between GSConnect and KDE Connect are: toolkit, dependencies and desktop environment.

KDE Connect’s desktop app is written in Qt. Qt is wonderfully cross-platform, allowing KDE Connect to run on most Linux desktops and distros (not solely KDE Plasma) — there’s even an unsupported build for Windows 10!

The downside for those on a GNOME-based system is that Qt apps tend to require a fair number of Qt dependencies to function; they often look out of place; and they don’t integrate as neatly with non-Qt desktops as native solutions do.

GSConnect does not require any KDE or Qt dependencies. It’s totally standalone.

As it’s a GNOME Shell extension it (naturally) requires the GNOME desktop to work. Some of the add-on’s features and plugins also rely on specific GTK apps and signals (like a compatible file manager, MPRIS player support, and more).

Furthermore, the non-Qt port is better able to integrate with the Ubuntu desktop, the Nautilus file manager, hook-in to and use the native GNOME notification system to deliver Android notifications on the Linux desktop (complete with inline reply or actions).

If you have longed to try KDE Connect out, but were put off by the Qt dependencies, then this is for you.

GSConnect: Transfer Files, Send SMS & More

Enough waffle about what the extension is; let’s look at what the extension can do.

As mentioned, you can use GSConnect to send files from Android to PC (and vice versa), see Android notifications on the desktop, and even use an Android phone as a mouse or remote touchpad!

But there are plenty of other neat features up this add-on’s super sleeve, too.

The key features of the GSConnect extension include:

Monitor your phone’s battery level. The battery plugin lets you check your phone battery level and charging state from your PC.

The battery plugin lets you check your phone battery level and charging state from your PC. Browse Android files and folders in Nautilus. Mount your Android filesystem on your PC to browse files and folders in the Nautilus file manager.

Mount your Android filesystem on your PC to browse files and folders in the Nautilus file manager. Send files to/from your desktop and phone. Android file transfer on Linux without cables. Send files to Ubuntu from Android, and from your desktop to your phone.

Android file transfer on Linux without cables. Send files to Ubuntu from Android, and from your desktop to your phone. Send SMS messages from desktop. You can send text messages from Ubuntu via GSConnect. Type on a real keyboard, make use of contact auto-complete, and read replies.

You can send text messages from Ubuntu via GSConnect. Type on a real keyboard, make use of contact auto-complete, and read replies. Get Android notifications on your Linux PC. You don’t need to pick your phone up every time a notification comes in as GSConnect mirrors all notifications from your Android device.

Inline reply to WhatsApp messages. You don’t need to pick up your phone to send a reply to a WhatsApp message.

You don’t need to pick up your phone to send a reply to a WhatsApp message. Sync clipboard between phone & desktop. The clipboard plugin keeps your desktop and phone’s text clipboard content in sync.

The clipboard plugin keeps your desktop and phone’s text clipboard content in sync. Use your phone as a mouse. Need a portable mouse in a pinch? Enable the remote input plugin in KDE Connect to use your phone touchscreen as a touchpad.

Need a portable mouse in a pinch? Enable the remote input plugin in KDE Connect to use your phone touchscreen as a touchpad. Use your phone keyboard to enter text in desktop apps. Keyboard batteries out? You can use the Android keyboard to type text in apps and text fields.

Keyboard batteries out? You can use the Android keyboard to type text in apps and text fields. Control volume & music playback. Adjust volume and control music playback in supported music players (Rhythmbox, VLC, etc) using the KDE Connect app.

It’s also worth noting that GSConnect even lets you pair more than one device at a time — and manage them all individually! If you have multiple devices you want to integrate just install the Android app and repeat the pairing steps (listed below) on each device you want to use.

The best bit? Anyone can use this

All of these features are made available over a regular wireless network connection. There are no expensive hubs or access points required, no cables to untangle, and no proprietary software to buy or set-up.

All you need is a Linux distro with GNOME Shell 3.28 (or later), the (free) GSConnect extension, plus the (free) KDE Connect Android app to make use of the various features.

How to Install GSConnect on Ubuntu

Now for the fun bit: how to install GSconnect on Ubuntu 18.04 LTS and up (trivia: the feature was planned to ship by default in Ubuntu 19.04, but didn’t).

Below, we walk you through the entire process from start to finish: from installing the extension on Ubuntu to installing the KDE Connect Android app on your phone.

1. Install KDE Connect on your Android Phone

Step one is to install the KDE Connect app on to your Android device. The app is free, open source software and you can find its source code on GitHub.

You can download the latest version of the app from F-Droid or install it direct from the Google Play Store:

KDE Connect on Google Play Store

2. Install GSConnect on the GNOME Shell Desktop

Step two is to install GSConnect on the Ubuntu desktop.

You can install it from the GNOME Extensions website using a web-browser like Firefox or Google Chrome, assuming you’ve followed the instructions here.

GSConnect on GNOME Extensions

You can also install GSConnect on Ubuntu 19.04 straight from the Ubuntu Software app. Search it out by name or click this button:

Install GSConnect from Ubuntu Software

While the extension should start working as soon as it’s enabled you may need to log out and back in for it to kick in to life.

3. Connect Wirelessly

When the GSConnect GNOME extension installed and enabled and the KDE Connect Android app running on your phone you can move to the third, critical step: pairing.

First make sure that your Android device and your Ubuntu machine are connected to the same network. It doesn’t matter if your PC is connected via/to ethernet and your phone is on Wi-Fi; so long as both use the same connection, the integration will work.

To pair, open the KDE Connect app on your Android device. From the main screen look for your system under “Available devices”.

Tap the name of your system and hit the big blue “Request Pairing” button to fling a pair request over to your Ubuntu box.

It’s very important that you send the pair request from your phone to Ubuntu and not the other way around.

Accept the pair request on your desktop when it arrives:

Once accepted, that’s it! You’ll find your phone listed inside the Status Menu appended by a small battery percentage and icon.

Click on your Android device name to unfurl the full menu, where you’ll find quick links to SMS messaging, locate your device, file mounting, and sharing. There’s also a ‘Do Not Disturb’ toggle and (most importantly) a link to access GSConnect’s settings/preferences.

4. Choose Your Features

With your devices paired and communicating the final thing to do is turn on the features and integrations you want!

To enable features in the KDE Connect Android app just open it up, select your desktop device, tap the menu button, and select ‘Plugin settings’.

You’ll see this screen:

Enable/disable features by tapping the checkboxes.

To enable plugins in the GSConnect extension on your desktop you will need to open the Status Menu > Your Device > Mobile Settings.

In the window that appears you need to select your Android device from the sidebar and, in the next page, go to the “Advanced” section to enable/disable GSconnect’s various options:

Some of these features, like clipboard sync and media player integration, have additional controls that can be set, managed or configured from the “Sharing” section:

Preferences for incoming and outgoing call alerts are available in the ‘Telephony’ section:

Going Further

You can use GSConnect with the Google Chrome and Mozilla Firefox web browsers. To do this you need to install an extra web extension. You’ll find this available in each browser’s official add-on store/market.

Pick a Menu Mode

By default GSConnect tucks itself away in the GNOME Shell Status Menu. This helps keep the top bar area tidy.

But for more instant access to your device and features, like Messaging, Find my Phone, Filesystem and Sharing, you can switch to the “Panel” mode in which the menu behaves more like a traditional indicator applet.

Mount Android Device Remotely in Nautilus

Like a virtual MTP, you can mount your Android phone in Ubuntu’s file manager to browse, copy, and manage files, folders and photos on your phone over a wireless network.

But to remotely connect to your Android device over WiFi to browse its filesystem like a regular mount you will first need to enable the Nautilus integration setting in the plugin section of both GSConnect and the KDE Connect Android app (see above for details on how to do that).

Furthermore, depending on your system set-up, you might also need to install a couple of dependencies. The GSConnect app will offer to help you install these (check out the ‘Other > Filesystem’ pane) but to get ahead of things run:

sudo apt install python-nautilus gir1.2-nautilus-3.0 sshfs

Once done, you will be able to mount your Android filesystem remotely to browse, edit, and transfer files. You can also quickly send files from Ubuntu to Android through Nautilus: just right-click on a file and select the Send to Mobile Device > Device menu entry:

Summary

GSConnect is the best way to use Android with Ubuntu and other compatible Linux distros, no doubt about it.

And while Microsoft’s “Your Phone” app gives Windows 10 users similar features to those mentioned above I genuinely think GSConnect is more powerful, more capable, and far easier to use.

GSConnect is free software that’s straightforward to use.

However, should you encounter any issues, like trying to get your PC and phone to see each other, be sure to check out the comprehensive wiki page and file issues over on Github.

Finally, if you found this post helpful (and I hope you did) please consider sharing it on Twitter, Facebook, Reddit, your fridge or anywhere else appropriate!

Want us to make a video demoing GSConnect? Let us know on our YouTube page!