명령줄에서 블루투스 장치를 다시 연결하세요

명령줄에서 블루투스 장치를 다시 연결하세요

Bluetooth 헤드폰을 잠시 사용한 후 때때로 대기 시간이 길어지고 끊김이 발생하기 시작합니다. 제가 수동으로 해결한 방법은 연결을 끊었다가 다시 연결하는 것인데, 이렇게 하면 금방 짜증이 납니다. 스크립트를 사용하여 헤드폰을 다시 연결하려면 어떻게 해야 합니까?

답변1

다음 스크립트는 컴퓨터의 Bluetooth 장치 목록에서 첫 번째 장치를 찾아서 다시 연결하고 오디오 프로필을 고품질 A2DP 프로필로 전환합니다. 경우에 따라 다시 연결할 필요가 없지만 오디오 프로필을 A2DP에서 HSP로 전환하고 그 반대로 전환하면 트릭이 수행됩니다(아래 설명 참조).

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

관련 정보