Verbinden Sie das Bluetooth-Gerät über die Befehlszeile erneut

Verbinden Sie das Bluetooth-Gerät über die Befehlszeile erneut

Nach einer Weile der Nutzung meiner Bluetooth-Kopfhörer kommt es manchmal zu Latenzen und sie fangen an zu stottern. Meine manuelle Lösung besteht darin, sie zu trennen und erneut anzuschließen, was jedoch schnell lästig wird. Wie kann ich meine Kopfhörer mithilfe eines Skripts erneut verbinden?

Antwort1

Das folgende Skript findet das erste Gerät in der Bluetooth-Geräteliste des Computers, stellt die Verbindung wieder her und wechselt das Audioprofil zum hochwertigen A2DP-Profil. In manchen Fällen ist eine erneute Verbindung nicht erforderlich, aber das Wechseln des Audioprofils von A2DP zu HSP und zurück funktioniert (unten auskommentiert).

#!/bin/sh

device=$(echo -e 'list' | bluetoothctl | grep Device)
name=$(echo $device | sed -n 's/.* [0-9A-C:]\{17\} \(.*\)/\1/p')
address=$(echo $device | awk '{ print $4; }')

echo "Disconnect $name ($device)"
echo -e "disconnect $address" | bluetoothctl
sleep 5

echo "Connect $name ($device)"
echo -e "connect $address" | bluetoothctl
sleep 5

card=$(pacmd list-cards | grep -oP 'name: <\K(bluez[^>]*)')

# echo "Switching $card to HSP"
# pacmd set-card-profile $card headset_head_unit
# sleep 1

echo "Switching $card to A2DP"
pacmd set-card-profile $card a2dp_sink

verwandte Informationen