问题描述
在ubuntu22.04
系统中,通常会出现一个问题,就是蓝牙连接经常会出现问题,对于耳机来说,已经配对过的经常会出现无法连接的情况,需要重新配对才能够重新连接,比较的麻烦。(当然了,这只是对有强迫症的)
解决办法
这里通常可以通过提升Bluez
的版本来修复这个问题,在Bluez 5.72
的版本中,是修复了这个问题的,接下来进行该版本的安装。
安装步骤
步骤一
- 首先,先下载文件,在这里,选择的是
gitHub
网站上的Bluez
文件,通过以下指令下载解压。
# 从gitHub上下载相应的版本
wget https://github.com/bluez/bluez/archive/refs/tags/5.72.tar.gz# 解压
tar -xzf ./5.72.tar.gz# 进入文件夹,为后续指令做准备
cd ./bluez-5.72/
步骤二
- 执行以下的命令,先安装一些必要的包。
sudo apt-get build-dep bluez./bootstrap
问题
- 在这里,可能会出现一些错误的
Reading package lists... Done
E: You must put some 'deb-src' URIs in your sources.list ./bootstrap: 3: aclocal: not found
解决
- 解决办法,先执行以下命令,再执行刚刚的指令,应该可以解决问题了。
# 将sources.list复制一份
sudo cp /etc/apt/sources.list /etc/apt/sources.list~ # 使用sed修改了sources.list文件,将所有以# deb-src开头的行取消注释,启用了源代码仓库
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list# 更新库
sudo apt update
步骤三
-
接下来,执行以下的命令
-
--prefix=/usr
:指定安装路径(默认/usr/local
)。 -
--mandir=/usr/share/man
指定man
页面(帮助文档)的安装位置 -
--sysconfdir=/etc
:配置文件路径。 -
--localstatedir=/var
:日志和状态文件路径。
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var
- 在这里容易出现错误的,缺少一些包,缺什么补什么,像以下的情况,缺少
rst2man
,直接安装就行了
checking for rst2man... no
checking for rst2man.py... no
configure: error: rst2man is required
- 修复指令
sudo apt -y install python3-docutils
步骤四
- 这个是最后一个步骤了
sudo make && sudo make install
- 如果缺少什么包,添加就行了
检查版本
bluetoothctl --version