Ubuntu22.04 蓝牙设备快速自动连接
蓝牙鼠标在多台电脑切换时,可能需要等好久才能自动连接上,特别是ubuntu系统,Windows其实这点做点挺好的。所以在ubuntu系统中,不能光靠系统自动识别使用过的设备,额外加一个自动连接的程序在后台,效果很好,而且不会占用太多资源。
1. 后台蓝牙自动连接程序
1) 先确认蓝牙设备的硬件地址
在系统设置里,可以找到蓝牙设备的MAC地址,如下图:

2)创建.sh文件
先在terminal运行sudo gedit /usr/local/bin/bt-mouse-autoconnect.sh创建.sh文件
然后写入如下内容:
sh
#!/usr/bin/env bash
set -euo pipefail
# MAC address
MAC="D5:D7:73:79:2E:15"
# power on bluetootch control
bluetoothctl power on >/dev/null 2>&1 || true
bluetoothctl trust "$MAC" >/dev/null 2>&1 || true
# connect
bluetoothctl connect "$MAC" >/dev/null 2>&1 || exit 1
EOF
要把里面的MAC地址换成需要对应的蓝牙设备
3)修改权限
sudo chmod +x /usr/local/bin/bt-mouse-autoconnect.sh
4)创建 systemd 服务(开机后自动跑,失败自动重试)
在terminal运行sudo gedit /etc/systemd/system/bt-mouse-autoconnect.service
然后输入
sh
[Unit]
Description=Auto connect Bluetooth mouse
After=bluetooth.service network.target
Requires=bluetooth.service
[Service]
Type=oneshot
ExecStart=/usr/local/bin/bt-mouse-autoconnect.sh
RemainAfterExit=yes
# 如果没连上就重试
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
最后在terminal运行下面连个指令:
sudo systemctl daemon-reload
sudo systemctl enable --now bt-mouse-autoconnect.service
5)查看运行情况
systemctl status bt-mouse-autoconnect.service
journalctl -u bt-mouse-autoconnect.service -b --no-pager
有输出反馈后,可以试着来回切换蓝牙鼠标的连接设备,看看效果,应该就可以快速连接了,减少等待时间,提高牛马工作效率 :)
Happy new year!