ArchWiki 中关于 Bluetooth

ArchWiki 中相关部分
Bluetooth 是一个短距离无线通信的标准,用于在手机,计算机和其他电子设备之间通信。

在 Linux 中,权威的蓝牙协议栈实现是 BlueZ

安装

  • bluez, 提供蓝牙协议栈
  • bluez-utils, 提供 bluetoothctl 实用程序
  • btusb 内核模块,是通用的蓝牙驱动,需要检查其是否加载
  • 启用 bulutooth.service

蓝牙守护进程默认只会向属于 lp 组的用户暴露 bnep0 设备,如果要连接到蓝牙设备,先将用户添加到这个组,可以在 /usr/share/dbus-1/system.d/bluetooth.conf 中修改。

一些蓝牙适配器和无线网卡绑定,这些蓝牙适配器需要先启用无线网卡才能被内核识别。

配对

在使用蓝牙设备之前先检查其有没有被 rfkill 禁用。

一般步骤:
先运行 bluetoothctl 进入交互界面:

  1. (可选操作) select MAC_address, 选择一个默认的蓝牙接收器
  2. power on, 打开蓝牙,默认为关闭
  3. devices, 获得要配对的设备的 MAC 地址
  4. scan on, 搜索发现所有可配对的设备
  5. agent on, 打开代理或者选择一个特定的代理
  6. pair MAC_address, 配对设备
  7. trust MAC_address, 添加到信任列表
  8. connect MAC_address, 建立链接

配置

开机后自启动等,见 ArchWiki

开机启动

/etc/bluetooth/main.conf 中添加:

1
2
[Policy]
AutoEnable=true

启动后自动可被发现

/etc/bluetooth/main.conf 中添加:

1
2
[General]
DiscoverableTimeout = 0

连接蓝牙耳机

需要先安装 pulseaudio-bluetooth

有时候要用 pavucontrol 选择音频的输出设备.

确认重新启动 pulseaudio 来使得安装生效:

1
$ pulseaudio -k

ArchWiki 中关于 Bluetooth
http://example.com/2022/09/06/ArchWiki-中关于-Bluetooth/
作者
Jie
发布于
2022年9月6日
许可协议