bluetoothctl: list connected devices?

I'm trying to get a list of connected Bluetooth devices via the command line on Kubuntu.

When I launch bluetoothctl, it defaults to the latest connected device, and I need to disconnect it to display the other one.

Is there a way to list the connected Bluetooth devices?

5 Answers

Here's a fish-shell one-liner (see below for bash)

bluetoothctl devices | cut -f2 -d' ' | while read uuid; bluetoothctl info $uuid; end|grep -e "Device\|Connected\|Name" 

bash one-liner:

bluetoothctl devices | cut -f2 -d' ' | while read uuid; do bluetoothctl info $uuid; done|grep -e "Device\|Connected\|Name" 

You can list paired devices with bluetoothctl paired-devices

From this list you can get info for each device with bluetoothctl info On the info you have the Connected status.

So loop on each devices grep for Connected: yes if so display the name:

bluetoothctl paired-devices | cut -f2 -d' '| while read -r uuid do info=`bluetoothctl info $uuid` if echo "$info" | grep -q "Connected: yes"; then echo "$info" | grep "Name" fi done 

This may help: sudo bluetoothctl info MAC-ADDRESS-OF-DEVICE

5

After running sudo bluetoothctl...

you can type paired-devices to see a list of paired devices
or list to see a list of currently connected controllers

you can also type info to see info about each device.

Each command here supports tab completion of MAC addresses.

I use this to display the currently connected device in my Swaybar:

bluetoothctl devices | cut -f2 -d' ' | while read uuid; do bluetoothctl info $uuid; done | grep -e "Name\|Connected: yes" | grep -B1 "yes" | head -n 1 | cut -d\ -f2- 

Breakdown:

bluetoothctl devices # List all devices cut -f2 -d' ' # Cut out the second column containing the MAC address while read uuid; do bluetoothctl info $uuid; done # For each MAC address call bluetoothctl info grep -e "Name\|Connected: yes" # Find all lines that have either name or Connected: yes grep -B1 "yes" # Find the line with yes and the line before that line head -n 1 # Return the last line cut -d\ -f2- # Return the second column and all other columns for the device name 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like