在 Ubuntu 16.04 中自动连接到蓝牙扬声器

在 Ubuntu 16.04 中自动连接到蓝牙扬声器

启动时启用 BT。这很好。但它不会自动配对/连接到设备,即使它曾经配对并获得“受信任”状态。我可以通过选择设备并“连接到音频输出”使用该工具连接到扬声器。如何在启动时自动完成此操作?我也可以使用“bluetoothctl”然后“连接”来执行此操作,但这是交互式的,似乎无法编写脚本。

第二步是,蓝牙成为默认音频接收器。
这难道不都是普通用例吗?

(我发现这里有一些页面,大多数已经过时了。) 自动连接蓝牙设备:load-module module-switch-on-connect 对我来说不起作用。

我还安装了 bt-autoconnect。但有几个问题: - 它没有找到 BT 适配器 - 按钮音频设置没有任何作用 - 保存并退出没有任何作用

答案1

尝试bluetoothctl命令。

如果您随后输入help,您将看到要使用的命令。

  • ‘列表’(设备)
  • ‘trust 78:44:aa:bb:cc:dd’(设备的 MAC 地址)
  • ‘info 78:44:aa:bb:cc:dd’(设备的 MAC 地址)
  • ‘配对设备’

尝试一下,它对我有用。

答案2

为了自动连接到音频接收器你可以添加以下行/etc/rc.local

(sleep 6; echo "connect AA:BB:CC:DD:EE:FF\nquit" | bluetoothctl) &

更新地址。您可以通过以下方式从命令行进行验证:

echo -e "devices\nquit" | bluetoothctl

在我看来sleep 6这就足够了 - 但也许在你的电脑上必须增加它才能让其他蓝牙连接步骤完全完成。

通常,&在末尾加上符号后,您将启动将在 6 秒内执行的进程,而不会阻止启动正常蓝牙连接功能的下一个进程。如果 rc.local 不存在(我的情况是这样的),您可以创建它或在启动时使用其他文件进行初始化。

答案3

对于第二部分(自动切换到蓝牙扬声器作为接收器),我找到了一个解决方案。已在此处发布:

# /etc/pulse/default.pa
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect # this is new!
.endif

:一旦蓝牙服务器可用,如何自动与扬声器配对?救命!


编辑:为第一个问题找到了一个解决方案(在我看来不是最好的):

echo "connect AA:BB:CC:DD:EE:FF" | bluetoothctl

:更好的是,对于所有已连接和信任的设备,它无需此 MAC 地址即可工作。

答案4

在 Ubuntu 中,声音问题是由于安装了驱动程序造成的。如果这个扬声器是最新、最流行的硬件,那么您就没有机会了,而且必须等待 2 到 8 个月,直到驱动程序出现在 Linux 社区中。但您可以尝试在终端中安装以下软件包:

sudo apt-get 安装 amarok rhythmbox

重启

然后打开蓝牙并查看您的扬声器是否受支持:

  • 打开活动概述并开始输入蓝牙。
  • 单击蓝牙打开面板。
  • 将顶部的开关设置为 ON。

祝你好运,或者耐心最多 8 个月。

相关内容