
¿Estás buscando una forma? Al conectar el dispositivo Bluetooth (como auriculares o altavoces) a Linux, iniciará automáticamente su reproductor de música favorito ¿sistema? Esta guía le mostrará cómo establecer la automatización Al conectar el dispositivo Bluetooth, abrirá automáticamente la aplicación de música usar System y Script Simple BashEsencia Usaremos Ritmo Como reproductor de música, pero puedes reemplazarlo con cualquier otra aplicación.
Probé esta configuración con el auricular de Bluetooth de Finger en el sistema de escritorio Cinnamon de Debian 12, ¡y el efecto fue muy bueno!
Abra automáticamente el paso de la aplicación de música en la conexión Bluetooth en Linux
Paso 1: Encuentre su dirección MAC de su dispositivo Bluetooth
Antes de configurar el script, debe encontrar la dirección MAC del dispositivo Bluetooth. La dirección MAC es el identificador único de su dispositivo.
Respuesta: Equipo de Bluetooth abierto
Asegúrese de que su dispositivo Bluetooth esté encendido y lo abra en modo de emparejamiento.
B. Equipo Bluetooth conectado a la lista
Abra la terminal y ejecute:
bluetoothctl devices
Esto mostrará una lista de dispositivos Bluetooth y su dirección MAC. Determine la dirección MAC correcta del dispositivo.
Salida de muestraEl
Device 01:B6:ED:14:1F:8F FINGERS FC-SoundStorm
Lea la dirección MAC (por ejemplo ,, 01:B6:ED:14:1F:8F
A. Necesitas esto en el siguiente paso.
Paso 2: cree un script para detectar la conexión Bluetooth
Primero, cree un script para verificar si su dispositivo Bluetooth ha sido conectado y iniciado Ritmo Si no se está ejecutando.
Abra el terminal y cree un nuevo archivo:
nano ~/bluetooth-music.sh
Agregue el siguiente script:
#!/usr/bin/env bash# ------------------------------------------------------------------
# Script Name: bluetooth-music.sh
# Description: A Bash script to Auto-launch Music Player
on Bluetooth Connect
# Website: https://gist.github.com/ostechnix
# Version: 1.0
# ------------------------------------------------------------------DEVICE_MAC="01:B6:ED:14:1F:8F"
APP="rhythmbox"
FLAG_FILE="/tmp/bluetooth_music.flag"# Check if Bluetooth device is connected
bluetoothctl info "$DEVICE_MAC" | grep -q "Connected: yes"
if [ $? -eq 0 ]; then
# If Rhythmbox is not running and wasn't manually closed, start it
if ! pgrep -f "$APP" > /dev/null && [ ! -f "$FLAG_FILE" ]; then
DISPLAY=:0 "$APP" &
fi
else
# Remove flag when Bluetooth disconnects
rm -f "$FLAG_FILE"
fi
- reemplazar
01:B6:ED:14:1F:8F
Use la dirección MAC del dispositivo Bluetooth. - reemplazar
rhythmbox
Use su comando de aplicación de música preferida (por ejemplo,clementine
,,,,,spotify
,,,,,vlc
A.
Presionando y saliendo del archivo Ctrl + X
Entonces Y
Entonces Enter
Esencia
Ejecute el siguiente comando para que el script se pueda ejecutar:
chmod +x ~/bluetooth-music.sh
Paso 3: cree un servicio Systemd para ejecutar el script
Ahora, necesitamos establecer el servicio SystemD para ejecutar el script en segundo plano.
Crear archivo de servicio Systemd:
nano ~/.config/systemd/user/bluetooth-music.service
Agregue la siguiente configuración:
[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
Asegurar bluetooth-music.sh
El archivo es correcto en la configuración del servicio. de acuerdo a CTRL+O
y CTRL+X
Guarde y cierre el archivo.
Ejecute el siguiente comando para habilitar e iniciar el servicio:
systemctl --user daemon-reload systemctl --user enable bluetooth-music.service systemctl --user start bluetooth-music.service
Ahora, cuando su dispositivo Bluetooth está conectado, ¡Rhythmbox se abrirá automáticamente!
uno Pequeños problemas de este método Sí, si apaga la aplicación RhythmBox, el script se reiniciará automáticamente. Esto sucedió porque el script verifica si su dispositivo Bluetooth está conectado cada pocos segundos. si Rhythmbox
Sin ejecutar, el script lo inicia nuevamente. Puede que no te guste, y crees que es molesto.
Para evitar este comportamiento, realice los siguientes pasos.
Paso 4: evitar que los marcos de ritmo se reinicien después del cierre manual
Porque el script es constantemente reabriendo Rhythmbox
,usar Archivo logo Instruido cuando tu Cerralo manualmenteEsencia
Para este fin, cree un nombre individual para cerrar el cuadro de ritmo:
echo "alias closemusic="touch /tmp/bluetooth_music.flag && pkill rhythmbox"" >> ~/.bash_aliases
Esto crea un comando llamado closemusic
Esto cierra el cuadro de ritmo y establece un letrero para evitar que se reabra.
Tenga en cuenta que hemos definido /tmp/bluetooth_music.flag
Los archivos creados anteriormente en el paso 2.
Ahora, archivo de inspección de script /tmp/bluetooth_music.flag
Esencia Si existe, Rhythmbox no se reiniciará.
Volver a cargar ~/.bash_aliases
documento:
source ~/.bash_aliases
De ahora, puedes correr closemusic
Comando en lugar de cerrado Rhythmbox
Generalmente:
closemusic
Esto muestra el guión No vuelvas a abrir la caja de ritmo A menos que su dispositivo Bluetooth esté desconectado y vuelva a conectar.
Paso 5: Exclusión de falla
Si no se inicia la caja de ritmo o el servicio es inesperado, intente los siguientes pasos:
Respuesta: Compruebe si el script se ejecuta manualmente
Ejecute el script para verificar si es válido:
./bluetooth-music.sh
Si no se inicia RhythmBox, verifique si su dispositivo Bluetooth ha sido conectado:
bluetoothctl info 01:B6:ED:14:1F:8F
Cerciorarse Connected: yes
Aparece en la salida.
Salida de muestraEl
Device 01:B6:ED:14:1F:8F (public)
Name: FINGERS FC-SoundStorm
Alias: FINGERS FC-SoundStorm
Class: 0x00260404
Icon: audio-headset
Paired: yes
Bonded: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Headset
[...]
B. Verificar el estado del servicio Systemd
systemctl --user status bluetooth-music.service
Encuentre errores en la salida.
C. Verifique si hay errores detallados en el registro
journalctl --user -u bluetooth-music.service -n 50 --no-pager
Si ves Cannot open display
,confirmar DISPLAY=:0
Ya configurado en el archivo de servicio.
D. Verifique la ruta del script en la configuración de Systemd
Asegúrate de haber definido Camino correcto guion bluetooth-music.sh
En su configuración Systemd.
E. Reinicie el servicio después del cambio
systemctl --user restart bluetooth-music.service
en conclusión
Usando esta configuración, su reproductor de música comenzará automáticamente al conectar el dispositivo Bluetooth y puede controlarlo completamente cuando sea necesario. Este método garantiza una experiencia suave en Linux sin reinicio innecesario.
Si encuentra que esta guía es útil, ¡comparta con otros usuarios de Linux!
Imagen característica Silvicultura de PixabayEsencia