目录

Linux蓝牙连接

使用 bluetoothctl 进入蓝牙交互界面

  • scan on / scan off 开始和停止扫描
  • pair XX:XX:XX:XX:XX:XX 发起配对, 如果设备有确认码, 终端会提示你输入 yes 来确认
  • trust XX:XX:XX:XX:XX:XX 信任设备, 下次断开后自动连接
  • connect XX:XX:XX:XX:XX:XX 建立连接
  • disconnect XX:XX:XX:XX:XX:XX 断开当前连接,但保留配对信息
  • remove XX:XX:XX:XX:XX:XX 删除配对信息

执行命令:

sudo systemctl enable --now bluetooth

之后检查 rfkill list 结果, 如果显示类似下面:

❯ rfkill list
0: ideapad_wlan: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: ideapad_bluetooth: Bluetooth
        Soft blocked: no
        Hard blocked: no
2: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no
3: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
  • 如果看到 Soft blocked: yes: 执行 sudo rfkill unblock bluetooth , 执行 sudo rfkill unblock bluetooth 解锁蓝牙模块
  • 如果看到 Hard blocked: yes: 检查蓝牙是否有物理开关

两者都显示 no 即可确认其在内核层面为启用状态. 然后尝试给蓝牙通电:

bluetoothctl power on

如果在 bluetoothctl 中可以扫描设备, 但是 GUI 中无法扫描, 可能是当前用户没有蓝牙权限, 使用以下命令将当前用户添加到蓝牙相关分组:

sudo usermod -aG bluetooth $USER
sudo usermod -aG lp $USER