Heim >System-Tutorial >LINUX >Öffnen Sie automatisch eine Musik -App beim Anschließen von Bluetooth unter Linux

Öffnen Sie automatisch eine Musik -App beim Anschließen von Bluetooth unter Linux

William Shakespeare
William ShakespeareOriginal
2025-03-05 10:59:091000Durchsuche

Automatically Open a Music App When Connecting Bluetooth in Linux

Starten Sie Ihren Musikplayer automatisch beim Anschließen eines Bluetooth -Geräts unter Linux

Möchten Sie Ihren bevorzugten Musikplayer mühelos starten, wenn Sie ein Bluetooth -Headset oder einen Lautsprecher mit Ihrem Linux -System anschließen? Dieses Tutorial zeigt, wie diese mithilfe von Systemd und einem einfachen Bash -Skript automatisiert werden. Wir werden als Beispiel Rhythmbox verwenden, aber Sie können es einfach für andere Musikspieler anpassen. Dieses Setup wurde erfolgreich auf einem Debian 12 Cinnamon Desktop mit einem Bluetooth -Headset mit Fingern getestet.

Inhaltsverzeichnis

  • Musik -App -Start auf Bluetooth Connection
      Automatisieren
    • Finden Sie die MAC -Adresse Ihres Bluetooth -Geräts
      • Aktivieren Sie Ihr Bluetooth -Gerät
      • Auflistung verbundener Bluetooth -Geräte
    • Erstellen eines Bluetooth -Verbindungserkennungsskripts
    • Einrichten eines Systemd -Dienstes
    • Verhinderung unerwünschter Neustarts nach manuellem Verschluss
    • Fehlerbehebung
      • Manuelle Skriptausführungsprüfung
      • Systemd -Service -Status
      • überprüfen
      • prüfende Protokolle auf Fehler
      • untersuchen
      • Überprüfen Sie den Skriptpfad in systemd
      • starten Sie den Service
      neu
  • Schlussfolgerung

Musik -App -Start auf Bluetooth Connection

Automatisieren 1. Finden Sie die MAC -Adresse Ihres Bluetooth -Geräts

Vor dem Erstellen der Automatisierung benötigen Sie die eindeutige MAC -Adresse Ihres Bluetooth -Geräts.
  • Aktivieren Sie Ihr Bluetooth -Gerät:

    Stellen Sie sicher, dass Ihr Bluetooth -Gerät eingeschaltet und erfindbar ist.
  • Listing verbundene Bluetooth -Geräte: Öffnen Sie ein Terminal und laufen Sie:

bluetoothctl devices

Dies zeigt verbundene Bluetooth -Geräte und deren MAC -Adressen. Suchen Sie die MAC -Adresse Ihres Geräts (z. B. 01:B6:ED:14:1F:8F).

2. Erstellen eines Bluetooth -Verbindungserkennungsskripts

Erstellen Sie ein Skript, um die Verbindung Ihres Bluetooth -Geräts zu überprüfen und Rhythmbox (oder Ihren ausgewählten Spieler) zu starten, wenn es noch nicht ausgeführt wird.

Erstellen Sie eine neue Datei mit einem Texteditor:

nano ~/bluetooth-music.sh

Fügen Sie das folgende Skript ein, ersetzen Sie 01:B6:ED:14:1F:8F durch die MAC -Adresse Ihres Geräts und rhythmbox mit dem Befehl Ihres Musikplayers:

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

Speichern Sie die Datei (Strg x, y, eingeben) und machen Sie sie ausführbar:

chmod +x ~/bluetooth-music.sh

3. Einrichten eines Systemd -Dienstes

Erstellen Sie eine Systemd -Dienstdatei, um das Skript im Hintergrund auszuführen:

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

Fügen Sie diese Konfiguration hinzu:

[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

Speichern Sie die Datei (Strg O, Strg X). Aktivieren und starten Sie den Service:

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

4. Verhinderung unerwünschter Neustarts nach manuellem Verschluss

, um zu verhindern, dass das Skript die Rhythmuskiste automatisch neu startet, nachdem Sie es manuell geschlossen haben, erstellen Sie einen Alias:

bluetoothctl devices

Verwenden Sie nun closemusic, um die Rhythmuskiste zu schließen und automatischen Relaunch zu verhindern.

5. Fehlerbehebung

  • Handbuch -Skriptausführung Überprüfen Sie: Ausführen ./bluetooth-music.sh, um das Skript zu testen. Überprüfen Sie, ob Ihr Bluetooth -Gerät mit bluetoothctl info <mac_address></mac_address>.

    verbunden ist
  • Überprüfen des Systemd -Service -Status: Überprüfen Sie den Service -Status mit systemctl --user status bluetooth-music.service.

  • Untersuchungsprotokolle auf Fehler untersuchen: Verwenden Sie journalctl --user -u bluetooth-music.service -n 50 --no-pager, um Protokolle anzuzeigen.

  • Überprüfen des Skriptpfads in Systemd: Stellen Sie sicher, dass der Pfad zu bluetooth-music.sh in der Systemd -Konfiguration korrekt ist.

  • Starten Sie den Dienst neu: Starten Sie nach Änderungen den Dienst mit systemctl --user restart bluetooth-music.service.

    neu

Schlussfolgerung

Dieses Setup bietet einen nahtlosen Weg, um Ihren Musikplayer automatisch auf die Bluetooth -Verbindung zu starten, und bietet eine bessere Kontrolle über den Betrieb auf Ihrem Linux -System. Denken Sie daran, Platzhalter durch Ihre spezifischen Details zu ersetzen.

Das obige ist der detaillierte Inhalt vonÖffnen Sie automatisch eine Musik -App beim Anschließen von Bluetooth unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn