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
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
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
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
Enregistrez le fichier (Ctrl x, y, entrez), puis faites-le exécutable:
chmod +x ~/bluetooth-music.sh
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
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
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
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
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!