Tutoriales

Al conectar Bluetooth en Linux, la aplicación de música se abrirá automáticamente

¿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:8FA. 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,,,,, vlcA.

Presionando y saliendo del archivo Ctrl + XEntonces YEntonces EnterEsencia

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.flagEsencia 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

LEER  Cómo ejecutar scripts de Python desde PHP

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba