更新
该解决方案很不优雅,建议关闭该页面。
问题描述
在使用树莓派连接到蓝牙音箱时,发现关闭 ssh 连接或者注销图形界面后,蓝牙连接就会断开。使用 webshell 发现,pulseaudio 进程在关闭 ssh 后会自动退出。

解决方案
可以将 pulseaudio 设置成一个 systemd 服务,这样就可以开机自动启动。
首先修改 /etc/pulse/daemon.conf,修改以下三行,去掉前面的注释符,然后修改值。
daemonize = no
allow-exit = no
exit-idle-time = -1
创建 /etc/systemd/system/pulseaudio.service,内容如下,修改<your user>为你的用户。这里并没有使用 pulseaudio 的 system-wide 功能,没研究明白怎么操作,这里的配置只是勉强能用,不够优雅。
[Unit]
Description=Pulseaudio sound server
After=bluetooth.service,hciuart.service
[Service]
Type=simple
User=<your user>
Restart=always
RestartSec=5s
ExecStart=/usr/bin/pulseaudio
[Install]
WantedBy=multi-user.target
启动服务并设置为开机自启。
sudo systemctl enable pulseaudio.service
sudo systemctl start pulseaudio.service
这样就可以保持蓝牙连接在关闭 ssh 时不断开,也可以使用脚本在开机时连接到蓝牙音箱。
文章评论