How to Set Up Bluetooth on Linux

Written by

The Bluetooth logo on a blue background

Sometimes your Linux distribution doesn’t detect your laptop’s Bluetooth hardware. Or perhaps you want to add a USB Bluetooth dongle to a desktop computer. Either way, here’s how to get Bluetooth working.

The Bluetooth Saga

Bluetooth is named after a 10th-century Danish king, Harald Bluetooth. He was known as the unifying king. By encouraging communication between the many differing factions, he consolidated the country under Christianity.

Ericsson released Bluetooth, the short-range wireless communication standard in 1998. The Linux kernel first supported Bluetooth functionality in 2001, with full support coming in 2005. Nowadays, Bluetooth can be used to connect all manner of devices to your computer, including smartphones, headsets, speakers, keyboards, mice, and printers.

Despite Bluetooth being a mature and well-established standard, sometimes the Bluetooth hardware in your laptop isn’t recognized or detected during the installation of your preferred Linux distribution. That’s not a show-stopper; you can add the software required for Bluetooth capability manually.

If your computer doesn’t have integrated Bluetooth hardware, you’ll need to use an external USB adapter or dongle, and install the required Bluetooth software stack. Looking for one that other Linux users have commented on and given positive feedback, such as the Panda Nano Adapter, is a wise move.

Panda Bluetooth 4.0 Nano Adapter

This low-profile USB adapter supports Linux, as documented by several reviewers.

The official Linux Bluetooth software suite is BlueZ, created and administered by the BlueZ Project. Blueman is an independent project to provide a front-end for BlueZ.

Installing the Software

We need to install BlueZ and its associated utilities. We also need to install Blueman, which is packaged separately.

We can install BlueZ on Ubuntu like this (note the asterisk “*“):

sudo apt install bluez*

Installing BlueZ on Ubuntu-1

To install Blueman, use this command:

sudo apt install blueman

Installing Blueman on Ubuntu

On Fedora, you need to type:

sudo dnf install bluez bluez-tools

Installing BlueZ on Fedora

Install Blueman like this:

sudo dnf install blueman

Installing Blueman on Fedora

On Manjaro the packages are called:

sudo pacman -S bluez bluez-utils

Installing BlueZ on Manjaro

This will install Blueman for you:

sudo pacman -S blueman

Installing Blueman on Manjaro

Starting the Bluetooth Daemon

To have Bluetooth available each time you boot your computer, we need to enable and start bluetooth.service, the daemon that Bluetooth connectivity. We do this with systemctl.

Enabling the service means it’ll be started with each boot of your computer. Starting the service makes it run right away, so you can use Bluetooth without having to reboot your computer.

sudo systemctl enable bluetooth.service

Enabling the bluetooth.service

sudo systemctl start bluetooth.service

Starting the bluetooth.service

Checking the Status

We can check that Bluetooth is up and running using the rfkill command. This scary-sounding command lets us check the health and status of wireless communications, and Bluetooth falls into that category.

Using rfkill without any command-line parameters lists the wireless adapters, and shows whether they are blocked or unblocked.


Listing the status of the wireless adapters

We can see that Bluetooth is present, but blocked. We can sort that out using rfkill with its unblock option. Of course, you might find that your adapter is unblocked, in which case you don’t need to perform the next step.

rfkill unblock bluetooth

Unblocking the Bluetooth adapter

Now we can check the status once more.


Listing the status of the wireless adapters

The Bluetooth adapter is now unblocked, so we can go ahead and start to use Bluetooth.

Using Bluetooth in GNOME

In GNOME, Bluetooth functionality can be accessed from the system menu. When active Bluetooth hardware is detected, a new “Bluetooth” menu item appears.

System menu with expanded Bluetooth menu option

Expanding the menu item reveals two options. You can turn Bluetooth off or on, and you can access the Bluetooth settings. This opens the regular “Settings” application and takes you to the “Bluetooth” pane.

Bluetooth settings pane with a detected but unpaired Bluetooth device listed

So that we had something to connect to, we set a Bluetooth headset to broadcast its availability for pairing. Our laptop found the device and listed it as a Bluetooth device in the vicinity of the laptop. It had been detected, but it was not paired to the laptop. Its status was reported as “Not set up.”

Clicking on the “Not set up” text started the connection process. In our case, the devices communicated and connected. Some devices send a code number to the computer, which GNOME displays. If that’s the case you need to click the “Accept” or “Connect” button in the notification that displays the code.

Bluetooth settings pane with a detected and paired Bluetooth device listed

In our case, there were a couple of bleeps and the device was connected. Its status was updated in the “Settings” application. Clicking anywhere in the gray shaded bar around the Bluetooth device opens an options window.

Bluetooth device options window

This gives you some information about the connected device. There is a slider button that allows you to turn the connection on or off, and a “Remove Device” button that will remove the device from your Bluetooth settings altogether. Your computer will forget everything about the device. You’ll need to reconnect to it if you wish to use it in the future.

If there are more settings available for your device—it depends on the category of the device, and what functionality the device manufacturers have made available through their Bluetooth interface—there’ll be a button that allows you to access them.

Because our device was a headset, the settings control the audio output of the device. Our button was labeled “Sound Settings.” Clicking the “Sound Settings” button opened a dialog with audio settings in it.

Audio settings for the Bluetooth headset

Using Blueman

If you don’t use GNOME as your desktop environment, there’s likely to be some integration of Bluetooth functionality in your preferred desktop. If there’s not, you can use Blueman to manage your Bluetooth connections. Or perhaps you administer a collection of Linux computers, with different desktop environments on them. Using Blueman allows you to have a consistent management experience across them all.

Blueman is short for Bluetooth Manager. Launch the Blueman application in GNOME by pressing the “Super” key, usually located between the left-hand “Ctrl” and “Alt” keys, and typing “blue.”

The Blueman icon will appear. Click it to launch the application. The Blueman application will appear.

The Blueman application with a Bluetooth device detected but not connected

We’d disconnected our Bluetooth headset, and had set it to “discoverable.” Clicking the “Search” button in the Blueman toolbar started a search for nearby Bluetooth devices.

Our headset was discovered and listed. Your device will be listed with a name or label that tells you what it is. Clicking its entry in the device listing, then clicking on the key-shaped “Create Pairing” button will start the pairing and connecting process.

You can do the same thing by right-clicking the device listing and selecting “Connect” from the context menu.

The "Connect" option in the device context menu

When the device is connected a very small key symbol is added to its icon in the Blueman device listing, and a set of icons are added to the right-hand end of the device entry, showing the different services that Bluetooth connection can use.

A connected device in the Blueman device list

If the device sends a pairing code to your computer it will be displayed in a notification or small dialog. If this happens, click the button in the dialog labeled “Accept”, “Pair”, “Connect” or similar.

Using More Than One Bluetooth Adapter

It’s possible to use more than one Bluetooth adapter at a time. There is built-in Bluetooth hardware in the laptop we used to research this article, but we thought we’d add another, external, USB adapter to see how it was handled.

The built-in Bluetooth hardware was identified in the “Adaptor” menu using the name of the laptop, “acheron.”

The Blueman "Adaptor" menu with one Bluetooth adapter listed

When the external Bluetooth adapter was plugged into a USB port, it was added to the “Adaptor” menu as “acheron #2.”

The Blueman "Adaptor" menu with two Bluetooth adapters listed

This lets you quickly hop between adapters. You could choose to have some devices connected to the internal Bluetooth adapter and some connected to the external adapter. When you select an adapter from the menu, you’ll only see the devices that are connected to that adapter.

Get Connected

Using Bluetooth on Linux is a lot easier than it used to be. It’s quick and easy to set up and painless to connect to devices. It’s good to connect, as King Harald may have once said.

RELATED: Fix: Why Isn’t Linux Detecting My Wi-Fi Adapter?

Article Categories:

Leave a Reply

Your email address will not be published. Required fields are marked *