Rumah >Tutorial sistem >LINUX >Buka aplikasi muzik secara automatik semasa menyambungkan Bluetooth di Linux

Buka aplikasi muzik secara automatik semasa menyambungkan Bluetooth di Linux

William Shakespeare
William Shakespeareasal
2025-03-05 10:59:091005semak imbas

Automatically Open a Music App When Connecting Bluetooth in Linux

Secara automatik memulakan pemain muzik anda semasa menyambungkan peranti Bluetooth pada Linux

mahu melancarkan pemain muzik kegemaran anda dengan mudah apabila menyambungkan alat dengar Bluetooth atau pembesar suara ke sistem Linux anda? Tutorial ini menunjukkan cara mengautomasikan ini menggunakan Sistem dan skrip bash yang mudah. Kami akan menggunakan RhythMbox sebagai contoh, tetapi anda boleh menyesuaikannya dengan mudah untuk pemain muzik lain. Persediaan ini berjaya diuji pada desktop Debian 12 Cinnamon dengan Headset Bluetooth Fingers.

Jadual Kandungan

  • Pelancaran aplikasi muzik mengautomasikan pada sambungan bluetooth
    • Mencari alamat MAC peranti Bluetooth anda
      • Membolehkan peranti Bluetooth anda
      • menyenaraikan peranti Bluetooth yang disambungkan
    • Membuat skrip pengesanan sambungan Bluetooth
    • menyediakan perkhidmatan sistemd
    • Mencegah restart yang tidak diingini selepas penutupan manual
    • Penyelesaian masalah
      • semak pelaksanaan skrip manual
      • Mengesahkan Status Perkhidmatan Systemd
      • memeriksa log untuk kesilapan
      • Memeriksa laluan skrip dalam Systemd
      • Mulakan semula perkhidmatan
  • Kesimpulan

Pelancaran aplikasi muzik mengautomasikan pada sambungan bluetooth

1. Mencari alamat MAC peranti Bluetooth anda

Sebelum membuat automasi, anda memerlukan alamat MAC unik peranti Bluetooth anda.

  • Membolehkan peranti Bluetooth anda: Pastikan peranti Bluetooth anda dikuasakan dan dapat ditemui.

  • Penyenaraian peranti Bluetooth yang disambungkan: Buka terminal dan lari:

bluetoothctl devices

Ini memaparkan peranti Bluetooth yang disambungkan dan alamat MAC mereka. Cari alamat MAC peranti anda (mis., 01:B6:ED:14:1F:8F).

2. Membuat skrip pengesanan sambungan Bluetooth

Buat skrip untuk memeriksa sambungan peranti Bluetooth anda dan lancarkan RhythMbox (atau pemain pilihan anda) jika belum berjalan.

Buat fail baru menggunakan editor teks:

nano ~/bluetooth-music.sh

tampal skrip berikut, menggantikan 01:B6:ED:14:1F:8F dengan alamat MAC peranti anda dan rhythmbox dengan arahan pemain muzik anda:

#!/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

simpan fail (ctrl x, y, enter), kemudian menjadikannya boleh dilaksanakan:

chmod +x ~/bluetooth-music.sh

3. Menyediakan Perkhidmatan SystemD

Buat fail perkhidmatan SystemD untuk menjalankan skrip di latar belakang:

nano ~/.config/systemd/user/bluetooth-music.service

Tambahkan konfigurasi ini:

[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

Simpan fail (ctrl o, ctrl x). Dayakan dan Mulakan Perkhidmatan:

systemctl --user daemon-reload
systemctl --user enable bluetooth-music.service
systemctl --user start bluetooth-music.service

4. Mencegah restart yang tidak diingini selepas penutupan manual

untuk mengelakkan skrip daripada memulakan semula irama secara automatik selepas anda menutupnya secara manual, buat alias:

bluetoothctl devices

Sekarang, gunakan closemusic untuk menutup irama dan mencegah peluncuran semula automatik.

5. Penyelesaian masalah

  • Pelaksanaan Skrip Manual Semak: Run ./bluetooth-music.sh untuk menguji skrip. Sahkan peranti Bluetooth anda disambungkan menggunakan bluetoothctl info <mac_address></mac_address>.

  • Mengesahkan Status Perkhidmatan Systemd: Periksa status perkhidmatan dengan systemctl --user status bluetooth-music.service.

  • memeriksa log untuk kesilapan: Gunakan journalctl --user -u bluetooth-music.service -n 50 --no-pager untuk melihat log.

  • Memeriksa laluan skrip dalam SystemD: Pastikan laluan ke bluetooth-music.sh dalam konfigurasi sistemD betul.

  • Mulakan semula perkhidmatan: Selepas membuat perubahan, mulakan semula perkhidmatan menggunakan systemctl --user restart bluetooth-music.service.

Kesimpulan

Persediaan ini menyediakan cara yang lancar untuk melancarkan pemain muzik anda secara automatik apabila sambungan Bluetooth, yang menawarkan kawalan yang lebih besar ke atas operasinya pada sistem Linux anda. Ingatlah untuk menggantikan ruang letak dengan butiran khusus anda.

Atas ialah kandungan terperinci Buka aplikasi muzik secara automatik semasa menyambungkan Bluetooth di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn