我的蓝牙耳机工作正常。音频接收器工作。一切正常。但问题是我需要手动将其连接到PC:
- 单击 kde 任务栏上时间附近的蓝牙图标 => 已知设备 => 连接
# bluetoothctl
=>connect xx:xx:xx:xx:xx:xx
一个月前,它曾经通过标准 debian 安装/更新自动连接。我不知道为什么它坏了。我没有安装任何蓝牙相关的软件包,也没有更改蓝牙相关的配置文件。
我做了什么来解决我的问题:
- 清除并重新安装所有与蓝牙相关的软件包(见下文)。
- 添加了一行加载模块模块连接开关到/etc/pulse/default.pa如上所述这里
- 创建了一个文件/etc/bluetooth/audio.conf用一条线自动连接=真并随后重新启动蓝牙服务,如上所述这里
脚本(来自askubuntu)不起作用。我收到这条消息:
Browsing 00:18:09:29:XX:XX ... Sink bluez_sink.00_18_09_29_XX_XX does not exist.
如何让它上网时能够自动连接蓝牙耳机?我感觉解决办法很简单。
Debian 8.6、kde 4.14.2。使用的包:蓝魔,蓝牙,蓝色,脉冲音频模块蓝牙。
答案1
通常,您的耳机应尝试连接到自动连接的最后一个设备(大多数(如果不是全部)都会这样做)。但是,如果您的设备不是受信任的设备,这可能会失败。
首先要检查的是日志文件。在Ubuntu下/var/log/syslog
,在Debian下可能有不同的名称......在那里我看到了错误:Authentication attempt without agent
快速网络搜索返回这一页我所需要做的就是将设备添加到受信任的设备。运行bluetoothctl
然后输入trust XX:XX:XX:XX:XX:XX
。将 X 替换为您设备的 MAC 地址。我提供的链接中也有示例
您可能会遇到不同的问题,但至少检查您的日志文件以查看您的设备是否正在尝试连接。如果它正在尝试连接,如果您运行bluetoothctl
并等待,您还可以看到一些消息。我一直看到、、、Connected: yes
...消息。它被断开连接,因为它不是受信任的设备。no
yes
no
答案2
在使用创意 bt 扬声器的 ubuntu 19 上,自动重新连接对我来说也不起作用。
我使用上面的答案和评论来结合信任和断开连接,并使用一个简短的 shell 脚本进行连接。我制作了一个桌面链接来方便地执行脚本。
您可以在ubuntu的蓝牙设置中找到正确的MAC地址。
脚本:(保存为/home/username/connect_speaker.sh)
#!/usr/bin/bash
bluetoothctl trust MAC-address
bluetoothctl disconnect MAC-address
bluetoothctl connect MAC-address
扬声器.桌面(链接)
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=speaker
Name[en_US]=speaker
Exec=/home/username/connect_speaker.sh
Comment[en_US]=connect bt speaker
Name=speaker
Comment=connect bt speaker
Icon=speaker
桌面链接也只是一个文件。将用户名替换为您在系统上的用户名。我在 /usr/share/icons/hicolor/256x256/apps 中保存了一个扬声器图标,文件名为speaker.png Ubuntu 会自动找到它。
答案3
除了添加信任之外,您还需要让pulseaudio接受连接。引用自https://wiki.archlinux.org/index.php/Bluetooth_Headset#Setting_up_auto_connection...
要使耳机自动连接,您需要启用 PulseAudio 的打开连接模块。通过将以下行添加到 /etc/pulse/default.pa 来执行此操作:
# automatically switch to newly-connected devices
load-module module-switch-on-connect
现在,通过在 bluetoothctl 控制台内运行 trust 00:1D:43:6D:03:26 使 bluetoothctl 信任您的蓝牙耳机
答案4
这已经被合并到 Ubuntu 20.04 中的 /etc/pulse/default.pa 中
.ifexists module-switch-on-connect.so
load-module module-switch-on-connect
.endif