首頁 > 系統教程 > Linux > 在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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板