一文解决蓝牙连接难题:Ubuntu命令行蓝牙强制配对

在使用Ubuntu时,是否遇到过这样的困扰:蓝牙音响或耳机在Windows上可以轻松连接,但在Ubuntu的图形界面中却不断要求输入PIN码,而你又不知道这个PIN码是什么?这种问题通常源于Ubuntu的蓝牙管理器与某些设备间的兼容性问题,或是配对协商过程出现了异常

本文将介绍如何通过命令行工具bluetoothctl进行强制配对,绕过图形界面的限制,解决那些顽固的蓝牙连接问题

一、bluetoothctl简介

bluetoothctl是BlueZ蓝牙协议栈提供的官方命令行工具,其提供了更底层的控制能力,可以:

  1. 手动控制配对过程
  2. 查看详细的调试信息
  3. 绕过某些图形界面的限制
  4. 使用替代的配对方法

二、准备工作

  1. 确保蓝牙服务正常运行
bash 复制代码
sudo systemctl status bluetooth

如果服务未运行,使用以下命令启动:

bash 复制代码
sudo systemctl start bluetooth
sudo systemctl enable bluetooth  # 设置开机自启
  1. 安装必要工具(如果尚未安装)
bash 复制代码
sudo apt update
sudo apt install bluez bluez-tools

三、操作步骤

1. 启动bluetoothctl控制台

打开终端,输入:

bash 复制代码
bluetoothctl

将看到提示符变为 [bluetooth]#,表示已进入蓝牙控制模式。

2. 启用代理并设置默认代理

bluetoothctl控制台中依次输入:

bash 复制代码
agent on
default-agent

agent负责处理配对过程中的认证请求,启用是配对的前提。

3. 打开蓝牙并启动扫描

bash 复制代码
power on
scan on

scan on会开始搜索周围的蓝牙设备,你需要等待你的设备出现在列表中。

4. 识别并选择目标设备

扫描开始后,你将看到类似下面的输出:

bash 复制代码
Device 00:11:22:33:44:55 

记下设备地址(本例中的00:11:22:33:44:55)。

停止扫描以节省电力并减少干扰:

bash 复制代码
scan off

步骤5:配对设备

使用设备的MAC地址进行配对:

bash 复制代码
pair 00:11:22:33:44:55

步骤6:信任并连接设备

配对成功后,为了让系统自动连接此设备,需要将其标记为信任:

bash 复制代码
trust 00:11:22:33:44:55

然后建立连接:

bash 复制代码
connect 00:11:22:33:44:55

步骤7:退出并测试

bash 复制代码
exit

退出bluetoothctl后,尝试播放音频,确认蓝牙设备正常工作。

相关推荐
LN花开富贵11 小时前
Ubuntu aarch64 架构安装 NoMachine 远程控制 避坑与实战
linux·运维·笔记·学习·ubuntu·嵌入式
取经蜗牛11 小时前
Windows 11 WSL + Ubuntu 24.04 安装指南
linux·windows·ubuntu
杨云龙UP11 小时前
Oracle RAC/ODA环境下如何准确查询PDB表空间已分配大小?一次说清Oracle表空间逻辑大小和ASM三副本实际占用_2026-05-19
linux·运维·数据库·sql·oracle·ffmpeg
2023自学中11 小时前
imx6ull开发板,Linux-c编程,识别 键盘、鼠标、触摸屏坐标
linux·嵌入式·开发板·应用编程
步十人12 小时前
【Linux】环境配置
linux·运维·服务器
念恒1230612 小时前
MySQl安装
linux·运维·服务器
kaoa00012 小时前
Linux入门攻坚——77、虚拟化技术基础原理-2
linux·服务器·网络
vortex512 小时前
现代 Linux 包管理全景:从 apt 到 Nix,四大派系与四大范式
linux·运维·服务器
曦夜日长12 小时前
Linux系统篇,开发工具(四):make及makefile的使用、makefile的使用细节
linux·运维·服务器
历程里程碑13 小时前
54 深入解析poll多路复用技术
java·linux·服务器·开发语言·前端·数据结构·c++