블루투스 데몬
기본 설치에서 데몬 ( bluetoothd )은 백그라운드에서 실행됩니다 (파일에서 실행 /etc/init.d/bluetooth
). 이 데몬은 알려진 Bluetooth 장치를 인식하고 연결하는 데주의를 기울이고에있는 구성 파일로 구성 될 수 있습니다 /etc/bluetooth
. 헤드셋을 자동 연결하려면 다음 라인 입력을 audio.conf
주석 해제해야합니다 (제거 #
).
AutoConnect=true
데몬 유형을 다시 시작하려면 sudo /etc/init.d/bluetooth restart
.
참고 : 명령 줄 도구를 사용해 sudo hcitool cc <MAC-Adress>
도 데몬이 실행될 때 테스트 환경의 알려진 장치에 안정적으로 연결되지 않았습니다.
DBus
연결이 끊어졌지만 실제로 존재하며 페어링 된 헤드셋을 연결하기 위해 스크립트에서 D-Bus 를 사용할 수 있습니다 . 다음은 파이썬의 예입니다.
#!/usr/bin/python
# Toggles headset connection
import dbus
from dbus.mainloop.glib import DBusGMainLoop
dbus_loop = DBusGMainLoop()
bus = dbus.SystemBus(mainloop=dbus_loop)
#Get dbus interface for headset
manager = bus.get_object('org.bluez', '/')
iface_m = dbus.Interface(manager, 'org.bluez.Manager')
adapterPath = iface_m.DefaultAdapter()
adapter = bus.get_object('org.bluez', adapterPath)
iface_a = dbus.Interface(adapter, 'org.bluez.Adapter')
devicePath = iface_a.ListDevices()[0] # assuming first device
device = bus.get_object('org.bluez', devicePath)
iface_h = dbus.Interface(device, 'org.bluez.Headset')
#Check state of connection
connected = iface_h.IsConnected()
print 'Toggling connection. Please wait'
# toggle connection
if not connected:
try:
iface_h.Connect()
print 'Connecting: ', devicePath
except:
print 'Device not found'
else:
iface_h.Disconnect()
print 'Disconnecting: ', devicePath
블루투스 기기가 두 대 이상인 경우 devicePath
에는 물론 적절하게 조정해야합니다 . 위의 예는을 연결합니다 Headset
. 다른 서비스 (예 :)와 다른 인터페이스로 인터페이스를 변경하십시오 AudioSink
.
펄스 오디오
Bluetooth 장치의 MAC 주소를 알고 있으면 다음을 통해 펄스 오디오의 출력 싱크로 연결할 수 있습니다.
pacmd set-default-sink bluez_sink.xx_xx_xx_xx_xx_xx
여기서 xx_xx_xx_xx_xx_xx는 MAC 주소입니다 (pulseaudio에서이를 인식하려면 ':'을 '_'로 대체하십시오).
자세한 내용은 이 답변 을 참조하십시오.