목차

Bluetooth Speaker Auto connect | 블루투스 스피커 자동연결

이강우 2021/05/01 12:29

이 내용은 CentOS/RHEL 8 버전에서 테스트 되었습니다.

CentOS / RHEL에서 블루투스 스피커 사용시 페어링과 연결은 무리없이 잘 진행이 되었는데 시스템 리부팅을 하면 자동으로 연결이 되지 않는다는 점이다.

이부분은 아직 자동으로 해결해주는 방법이 없어서 수동으로 연결을 해줘야 하는데 이것을 자동으로 해주도록 설정해보자

블루투스 장치 확인

일단 블루투스 스피커 장치의 MAC Address 를 알아야 한다.
쉬운방법은 제어판의 블루투스 항목에 가서 확인해도 되고 아래와 같이 터미널에서 bluetoothctl devices명령어로 확인하는 방법이 있다.

[koov@home ~]$ bluetoothctl devices
Device 04:FE:A1:04:0F:5B Britz BR-1700BT

위에서 내 스피커의 MAC Address는 04:FE:A1:04:0F:5B인 것을 확인했다.

그리고 또 bluetoothctl info <MAC> 명령어를 내려서 장치 정보를 확인해보자

[koov@home ~]$ bluetoothctl info 04:FE:A1:04:0F:5B
Device 04:FE:A1:04:0F:5B (public)
	Name: Britz BR-1700BT
	Alias: Britz BR-1700BT
	Class: 0x00240428
	Icon: audio-card
	Paired: yes
	Trusted: yes
	Blocked: no
	Connected: yes
	LegacyPairing: no
	UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
	UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
	UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)

위와같이 블루투스 스피커 장치 정보가 나온다.

여기서 중요한 사항은

Paired: yesTrusted: yes 부분이다. 페어링과 신뢰하는 장치로 등록이 되어있어야 한다.

안되어있는 경우 아래 명령어로 설정해주도록 한다.

[koov@home ~]$ bluetoothctl pair 04:FE:A1:04:0F:5B
Attempting to pair with 04:FE:A1:04:0F:5B

[koov@home ~]$ bluetoothctl trust 04:FE:A1:04:0F:5B
Changing 04:FE:A1:04:0F:5B trust succeeded

연결시 소리 설정 변경

소리출력 장치가 다른 장치가 기본으로 잡혀있는것을 블루투스 스피커가 연결되면 이 스피커로 변경하는 설정이다.

이 설정을 하지 않아도 연결만 되면 자동으로 블루투스 스피커로 소리가 나오는경우 안해도 무방하다.

/etc/pulse/default.pa

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect        # <- 이부분을 추가한다.
.endif

출처 : https://askubuntu.com/questions/922072/autoconnect-to-a-bluetooth-speaker-in-ubuntu-16-04

자동으로 블루투스 연결하기

이제 X-Windows에 로그인하면 자동으로 블루투스 스피커에 연결해서 그쪽으로 소리가 나게 설정해주도록 한다.

블루투스 스피커가 페어링 되어있고 신뢰하는 장치로 등록했기 때문에 연결만 하면 되는것이다.

아주 간단하다.

먼저 해당 사용자 (이 예제에서는 koov계정)의 홈디렉토리 밑에 bin 디렉토리를 생성한다

[koov@home ~]$ mkdir ~/bin
[koov@home ~]$ vim ~/bin/btautoconnect.sh

btautoconnect.sh 내용

#!/bin/bash
bluetoothctl connect 04:FE:A1:04:0F:5B

위와같이 내 블루투스 스피커(04:FE:A1:04:0F:5B) 와 연결하는 스크립트를 하나 생성했다.
이후 해당 파일에 실행권한을 부여해준다.

[koov@home ~]$ chmod +x ~/bin/btautoconnect.sh

일단 블루투스 스피커와 연결해주는 스크립트는 생성했다.

이제 이 스크립트를 X-Windows 로그인 시에 자동으로 실행해주도록 설정한다.

먼저 자동시작 디렉토리를 생성한다. 이미 해당 디렉토리가 있는경우 생략해도 된다.

그리고 btautoconnect.desktop 파일을 만들어준다.

[koov@home ~]$ mkdir -p ~/.config/autostart

[koov@home ~]$ vim ~/.config/autostart/btautoconnect.desktop 

btautoconnect.desktop 파일 내용

[Desktop Entry]
Type=Application
Exec=/bin/bash /home/koov/bin/btautoconnect.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=BTAutoConnect
X-GNOME-Autostart-Delay=5
Comment=Starts Bluetooth speaker

이렇게 하면 모두 완료되었다.
이제 해당 사용자(koov) 로 X-Windows를 로그인 하면 자동으로 블루투스 스피커 장치가 연결될 것이다.

비슷한 방법으로 다른 모든 블루투스 장비를 자동으로 연결하여 사용할 수 있을것이다.

참조:https://askubuntu.com/questions/1170809/how-do-i-get-a-bluetooth-speaker-to-auto-connect-at-login