Blueman - ArchWiki

# Blueman

From ArchWiki
Jump to navigation Jump to search

Blueman is a full featured Bluetooth manager written in GTK.

## Installation

Install either blueman or blueman-gitAUR for the development version.

Be sure to enable the Bluetooth daemon and start Blueman with `blueman-applet`. A graphical settings panel can be launched with `blueman-manager`.

## Usage

### Autostarting

The following autostart file should have been created: `/etc/xdg/autostart/blueman.desktop`. This means that Blueman should be autostarted with most desktop environments without manual intervention. See the article for your desktop environment or window manager as well as the Autostarting article for further information on autostarting.

### Permissions

To receive files remember to right click on the Blueman tray icon > Local Services > Transfer > File Receiving (Object Push) and tick the Accept files from trusted devices box.

To be able to manage devices, you might need to add your user to the `lp` group, else you might receive the following error when connecting to a device: `DBusFailedError: No such file or directory`. This is because the user needs to be authorized to communicate with the Bluetooth daemon via D-Bus - the `lp` group is specified in `/etc/dbus-1/system.d/bluetooth.conf`. For information on adding a user to a group, see Users and groups#Other examples of user management.

From version 2.0.6 the official documentation recommends creating polkit rules in order to avoid polkit agents asking for password on every boot, as root user add the following polkit rules:

    /etc/polkit-1/rules.d/51-blueman.rules

    /* Allow users in wheel group to use blueman feature requiring root without authentication */
    polkit.addRule(function(action, subject) {
        if ((action.id == "org.blueman.network.setup" ||
             action.id == "org.blueman.dhcp.client" ||
             action.id == "org.blueman.rfkill.setstate" ||
             action.id == "org.blueman.pppd.pppconnect") &&
            subject.isInGroup("wheel")) {

            return polkit.Result.YES;
        }
    });

Note that users must belong to the `wheel` group.

### Mounting Bluetooth devices

The instructions below describe a method for using different file managers with Blueman. The examples in this section focus on Thunar. If you are using a different file manager, substitute thunar with the name of the file manager you are using.

    obex_thunar.sh

    #!/bin/bash
    [ ! -d ~/Bluetooth ] && mkdir ~/Bluetooth
    fusermount -u ~/Bluetooth
    obexfs -b $1 ~/Bluetooth
    thunar ~/Bluetooth

Now you will need to move the script to an appropriate location (e.g., `/usr/local/bin`). After that, mark it as executable:

    # chmod +x /usr/local/bin/obex_thunar.sh

The last step is to change the line in Blueman tray icon > Local Services > Transfer > Advanced to `obex_thunar.sh %d`.

This article or section is out of date.

Reason: It would appear that `thunar obex://%d` is not functional. Also note that changing command should not be necessary as the system default file manager will be used by default - see release notes for 1.99.alpha2 (Discuss in Talk:Blueman#thunar obex:// support)
Tip: If you do not want to create a script, you could just replace this command: `nautilus --browse obex://` with this one: `thunar obex://` in Local Services > Transfer > Advanced

### Blueman and PulseAudio

Users who want to use PulseAudio with a Bluetooth headset, in addition to installing pulseaudio-bluetooth, may want to activate the PulseAudio plugin of Blueman. This automatically loads PulseAudio Bluetooth module after audio device is connected and plays all audio through the Bluetooth headset. For more information see Bluetooth headset

## Configuration

Configuration is done through dconf (or gsettings or dconf-editor) under `/org/blueman`.

### Disable auto power-on

Blueman automatically enables Bluetooth adapter (``) when certain events (on boot, laptop lid is opened, ...) occur. This can be disabled with the `auto-power-on` in `org.blueman.plugins.powermanager`:

    $ gsettings set org.blueman.plugins.powermanager auto-power-on false

## Troubleshooting

### Blueman applet does not start

If blueman-applet fails to start, try removing the entire `/var/lib/bluetooth` directory and restarting the machine (or just the dbus and bluetooth services).

    # rm -rf /var/lib/bluetooth
    $ systemctl reboot

If you see a notification saying `Incoming file over Bluetooth` then this means that the device isn't marked as trusted. Mark it as trusted and try sending the file again.

### No adapters detected

If your Bluetooth applet or manager doesn't show or detect any Bluetooth adapter, your wireless card may be blocked. Try un-block it using rfkill.

### Can't receive files

If you can't send or receive files and you encounter a python-dbus-exception error similar or exactly like `process org.bluez.obex exited with status 1` then it is advised to start the obexd-service manually from `/usr/lib/bluetooth/obexd` and see if that helps. Since the default permissions assume 755 it is possible to start the daemon from a user-account and/or create an autostarter.

Should the error persist or another occur then try using ObexFTP for file transfers instead.

### "Networking requires privileges" and "Setting Rf Kill State requires privileges" messages

This section is being considered for removal.

Reason: Duplicates #Permissions. Is `subject.local && subject.active` desirable? If so it should be merged to #Permissions. (Discuss in Talk:Blueman#)

Solution found here. If you get the messages Networking requires privileges and/or Setting Rf Kill State requires privileges, add these instructions to your polkit rules:

    /etc/polkit-1/rules.d/81-blueman.rules

    polkit.addRule(function(action, subject) {
        if ((action.id == "org.blueman.rfkill.setstate" ||
             action.id == "org.blueman.network.setup") &&
             subject.local && subject.active && subject.isInGroup("wheel")) {

            return polkit.Result.YES;
        }
    });

Replace `wheel` with the user group that can execute `org.blueman.rfkill.setstate` and `org.blueman.network.setup`.

## See also

- Blueman development, on GitHub

Category:

- Bluetooth

Hidden categories:

- Pages or sections flagged with Template:Out of date
- Sections flagged with Template:Remove