首页 > 系统教程 > 操作系统 > 在Linux中连接蓝牙时,会自动打开音乐应用

在Linux中连接蓝牙时,会自动打开音乐应用

William Shakespeare
发布: 2025-03-05 10:59:09
原创
997 人浏览过

在Linux上连接蓝牙设备时,

Automatically Open a Music App When Connecting Bluetooth in Linux

自动启动您的音乐播放器

>是否想在将蓝牙耳机或扬声器连接到Linux系统时毫不费力地启动您喜欢的音乐播放器?本教程演示了如何使用SystemD和简单的BASH脚本自动化此内容。 我们将以Rhythmbox为例,但您可以轻松地为其他音乐播放器改编它。 该设置已在带手指蓝牙耳机的Debian 12肉桂桌面上成功测试。

目录的

  • >自动化音乐应用在蓝牙连接上启动
    • 查找蓝牙设备的MAC地址
      • 启用蓝牙设备
      • >列表连接的蓝牙设备
    • 创建蓝牙连接检测脚本
    • >设置SystemD服务
    • >防止手动闭合后不需要的重新启动
    • >故障排除
      • 手动脚本执行检查
      • 验证SystemD服务状态
      • 检查错误的日志
      • 检查systemd
      • >中的脚本路径
      • 重新启动服务
  • 结论
在蓝牙连接上

自动化音乐应用程序

1。查找您的蓝牙设备的MAC地址

在创建自动化之前,您需要蓝牙设备的唯一MAC地址。

  • >启用蓝牙设备:确保您的蓝牙设备可以打开并可发现。

  • >列表连接的蓝牙设备:打开一个终端并运行:

bluetoothctl devices
登录后复制
登录后复制
这将显示连接的蓝牙设备及其MAC地址。 找到设备的MAC地址(例如,

)。01:B6:ED:14:1F:8F>

2。创建蓝牙连接检测脚本>

>创建一个脚本以检查您的蓝牙设备的连接并启动Rhythmbox(或您选择的播放器)(如果尚未运行)。

>使用文本编辑器创建一个新文件:

粘贴以下脚本,用设备的MAC地址替换
nano ~/bluetooth-music.sh
登录后复制
>

>01:B6:ED:14:1F:8F>用您的音乐播放器的命令:rhythmbox

#!/usr/bin/env bash
# Script to auto-launch music player on Bluetooth connection
DEVICE_MAC="01:B6:ED:14:1F:8F"
APP="rhythmbox"
FLAG_FILE="/tmp/bluetooth_music.flag"

# Check Bluetooth connection
bluetoothctl info "$DEVICE_MAC" | grep -q "Connected: yes"
if [ $? -eq 0 ]; then
    # Launch Rhythmbox if not running and not manually closed
    if ! pgrep -f "$APP" > /dev/null && [ ! -f "$FLAG_FILE" ]; then
        DISPLAY=:0 "$APP" &
    else
        # Remove flag on Bluetooth disconnect
        rm -f "$FLAG_FILE"
    fi
fi
登录后复制
>保存文件(ctrl x,y,enter),然后使其可执行:>

chmod +x ~/bluetooth-music.sh
登录后复制
3。设置SystemD Service

>创建一个SystemD服务文件以在后台运行脚本:

添加此配置:
nano ~/.config/systemd/user/bluetooth-music.service
登录后复制

>保存文件(ctrl o,ctrl x)。 启用并开始服务:
[Unit]
Description=Auto-launch Music Player on Bluetooth Connect
After=bluetooth.target

[Service]
ExecStart=/bin/bash -c 'while sleep 2; do ~/bluetooth-music.sh; done'
Restart=always
Environment=DISPLAY=:0
Environment=XDG_RUNTIME_DIR=/run/user/%U

[Install]
WantedBy=default.target
登录后复制

systemctl --user daemon-reload
systemctl --user enable bluetooth-music.service
systemctl --user start bluetooth-music.service
登录后复制
4。防止手动闭合后不需要的重新启动

>在手动关闭它之后,以防止脚本自动重新启动节奏框,创建一个别名:>

bluetoothctl devices
登录后复制
登录后复制

现在,使用closemusic>关闭节奏框并防止自动重新启动。

>

5。故障排除

  • >手动脚本执行检查:run./bluetooth-music.sh测试脚本。 使用bluetoothctl info <mac_address></mac_address>

  • >验证SystemD服务状态:检查使用>。systemctl --user status bluetooth-music.service的服务状态

  • 检查错误的日志:使用查看日志。journalctl --user -u bluetooth-music.service -n 50 --no-pager

  • >检查SystemD中的脚本路径:确保在SystemD配置中的路径是正确的。> bluetooth-music.sh

    >重新启动服务:
  • 进行更改后,使用
  • 重新启动服务 systemctl --user restart bluetooth-music.service

    结论

>此设置提供了一种无缝的方法,可以在蓝牙连接时自动启动音乐播放器,从而对其在Linux系统上的操作提供了更大的控制。 切记用您的特定细节代替占位符。>

以上是在Linux中连接蓝牙时,会自动打开音乐应用的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板