Maison > Tutoriel système > Linux > Ouvrez automatiquement une application musicale lors de la connexion de Bluetooth à Linux

Ouvrez automatiquement une application musicale lors de la connexion de Bluetooth à Linux

William Shakespeare
Libérer: 2025-03-05 10:59:09
original
999 Les gens l'ont consulté

Automatically Open a Music App When Connecting Bluetooth in Linux

Démarrez automatiquement votre lecteur de musique lors de la connexion d'un périphérique Bluetooth sur Linux

Vous voulez lancer sans effort votre lecteur de musique préféré lors de la connexion d'un casque ou d'un haut-parleur Bluetooth à votre système Linux? Ce didacticiel montre comment automatiser cela à l'aide de SystemD et un script bash simple. Nous utiliserons RhythMbox à titre d'exemple, mais vous pouvez facilement l'adapter à d'autres lecteurs de musique. Cette configuration a été testée avec succès sur un bureau de Debian 12 Cinnamon avec un casque Bluetooth de doigts.

Table des matières

  • Automatisation du lancement de l'application musicale sur la connexion Bluetooth
    • Trouver l'adresse MAC de votre appareil Bluetooth
      • activer votre périphérique Bluetooth
      • Listing des appareils Bluetooth connectés
    • Création d'un script de détection de connexion Bluetooth
    • Configuration d'un service systemd
    • Empêcher les redémarrages indésirables après la fermeture manuelle
    • Dépannage
      • Vérification de l'exécution du script manuel
      • Vérification de l'état du service SystemD
      • Examen des journaux pour les erreurs
      • Vérification du chemin de script dans Systemd
      • redémarrer le service
  • Conclusion

Automating l'application musicale Lance sur Bluetooth Connection

1. Trouver l'adresse MAC de votre appareil Bluetooth

Avant de créer l'automatisation, vous avez besoin de l'adresse MAC unique de votre appareil Bluetooth.

  • Activation de votre appareil Bluetooth: Assurez-vous que votre périphérique Bluetooth est allumé et découvrable.

  • Listing des appareils Bluetooth connectés: Ouvrez un terminal et exécutez:

bluetoothctl devices
Copier après la connexion
Copier après la connexion

Cela affiche les appareils Bluetooth connectés et leurs adresses MAC. Localisez l'adresse MAC de votre appareil (par exemple, 01:B6:ED:14:1F:8F).

2. Création d'un script de détection de connexion Bluetooth

Créez un script pour vérifier la connexion de votre appareil Bluetooth et lancer RhythMbox (ou votre lecteur choisi) s'il n'est pas déjà en cours d'exécution.

Créez un nouveau fichier à l'aide d'un éditeur de texte:

nano ~/bluetooth-music.sh
Copier après la connexion

Collez le script suivant, en remplaçant 01:B6:ED:14:1F:8F par l'adresse MAC de votre appareil et rhythmbox par la commande de votre lecteur de musique:

#!/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
Copier après la connexion

Enregistrez le fichier (Ctrl x, y, entrez), puis faites-le exécutable:

chmod +x ~/bluetooth-music.sh
Copier après la connexion

3. Configuration d'un service systemd

Créez un fichier de service SystemD pour exécuter le script en arrière-plan:

nano ~/.config/systemd/user/bluetooth-music.service
Copier après la connexion

Ajouter cette configuration:

[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
Copier après la connexion

Enregistrer le fichier (Ctrl O, Ctrl x). Activer et démarrer le service:

systemctl --user daemon-reload
systemctl --user enable bluetooth-music.service
systemctl --user start bluetooth-music.service
Copier après la connexion

4. Empêcher les redémarrages indésirables après la fermeture manuelle

Pour empêcher le script de redémarrer automatiquement RhythMbox après l'avoir fermé manuellement, créez un alias:

bluetoothctl devices
Copier après la connexion
Copier après la connexion

Maintenant, utilisez closemusic pour fermer RhythMbox et empêcher la relance automatique.

5. Dépannage

  • Exécution du script manuel Vérifiez: Exécutez ./bluetooth-music.sh pour tester le script. Vérifiez que votre périphérique Bluetooth est connecté à l'aide de bluetoothctl info <mac_address></mac_address>.

  • Vérification de l'état du service SystemD: Vérifiez l'état du service avec systemctl --user status bluetooth-music.service.

  • Examen des journaux pour les erreurs: Utilisez journalctl --user -u bluetooth-music.service -n 50 --no-pager pour afficher les journaux.

  • Vérification du chemin de script dans SystemD: Assurez-vous que le chemin d'accès à bluetooth-music.sh dans la configuration SystemD est correct.

  • redémarrer le service: Après avoir apporté des modifications, redémarrez le service en utilisant systemctl --user restart bluetooth-music.service.

Conclusion

Cette configuration offre un moyen transparent de lancer automatiquement votre lecteur de musique sur Bluetooth, offrant un plus grand contrôle sur son fonctionnement sur votre système Linux. N'oubliez pas de remplacer les espaces réservés par vos détails spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal