시작시 Bluetooth 키보드 자동 연결을 어떻게 할 수 있습니까?


10

HTPC 용 블루투스 키보드가 있습니다. 블루투스를 통해 컴퓨터와 페어링하면 정상적으로 작동합니다. 그러나 키보드 나 컴퓨터를 끄면 다시 켤 때 다시 연결해야합니다 (컴퓨터와 키보드에 암호를 입력해야 함). 많은 포럼을 살펴본 결과, 중요한 블루투스 파일이 누락 된 것을 발견했습니다.

/etc/default/bluetooth

/etc/init.d/bluetooth

/etc/bluetooth/hcid.conf

지금까지 온라인에서 찾은 지침에서 이러한 파일의 특정 줄을 변경해야합니다. 그들이 존재하지 않기 때문에 나는 할 수 없습니다.

의존성이나 뭔가 빠졌습니까? 또한 Blueman 설치를 시도했지만 전혀 도움이되지 않았습니다.

우분투 10.10 (매버릭)을 실행 중입니다.

원문 : http://ubuntuforums.org/showthread.php?t=1643386&highlight=bluetooth

답변:


11

이 답변은 Andrew Martin이 thetechdepo.com에서 작성한 자습서에서 가져옵니다. 원래 게시물에 대해서는 아래 링크를 참조하십시오. 그러나 이것은 완전한 재 작성입니다. 애플 키보드 용으로 특별히 작성되었지만 여러 장치에 사용했기 때문에 애플 또는 키보드 전용이 아닙니다. 지침을 따르기 만하면 우분투에서 블루투스 장치를 자동으로 연결할 수 있습니다.

시스템 설정> Bluetooth로 이동하여 지침에 따라 새로 연결된 Bluetooth 장치를 추가하십시오.

지시에 따라 요청에 따라 핀을 입력 한 다음 장치가 연결되어 작동 한 후 장치의 전원을 끕니다. 이제 자동 연결 부분으로 이동하십시오.

터미널을 열고 다음 명령을 입력하십시오.

$ killall bluetooth-applet 
$ sudo /etc/init.d/bluetooth restart 
$ sudo hcitool dev

마지막 명령은 다음과 같은 장치의 출력을 표시합니다.

Devices:
    hci0    00:00:00:00:00:00

명령 행을 통해 블루투스를 연결할 수 있도록 새 패키지를 설치하십시오.

$ sudo apt-get install bluez-compat

이 작업이 완료되면 이제 hidd 프로그램이 설치되었습니다. 이 시점에서 키보드를 켜고 다음 명령을 입력하십시오. 키보드의 MAC 주소가 출력되며, 아래에서 볼 수 있듯이 후속 명령에 복사하여 붙여 넣어야합니다.

$ hcitool scan        
Scanning ...
    AA:BB:CC:DD:EE:FF   Bluetooth Device Name
$ sudo hidd --connect AA:BB:CC:DD:EE:FF

이제 PC가 시작될 때 장치를 자동으로 연결하기 위해 시작 파일을 만들어야합니다. 터미널을 통해 ...

$ gedit ~/.keyboard.sh

AA : BB : CC : DD : EE : FF를 위에서 본 하드웨어 ID로 대체하여 다음 텍스트를 입력하십시오. 마지막으로 파일을 저장하십시오.

#! /bin/bash

address="AA:BB:CC:DD:EE:FF"

while (sleep 1)
do
connected=`sudo hidd --show` > /dev/null
if [[ ! $connected =~ .*${address}.* ]] ; then
sudo hidd --connect ${address} > /dev/null 2>&1
fi
done

이제 새로운 시작 파일을 만드십시오. 선택한 장치 이름을 "키보드"로 바꿉니다. 이것은 단순히 파일 이름입니다.

$ sudo gedit /etc/init.d/keyboard

Ubuntu에 시작시 방금 만든 파일을 실행하도록 지시하는 다음을 붙여 넣습니다.

#!/bin/sh
/home/username/.keyboard.sh &

exit 0

이제 터미널을 통해 두 파일 권한을 실행 가능으로 설정하십시오.

$ sudo chmod +x /etc/init.d/keyboard
$ chmod +x ~/.keyboard.sh
$ sudo update-rc.d keyboard defaults

컴퓨터를 다시 시작하면 장치가 자동으로 연결되어 아무 작업도하지 않아도 작동합니다.

나는 이것이 소수의 사람들에게 도움이되기를 바랍니다. 내 문제에 대한 해결책을 찾는 데 오랜 시간이 걸렸 으며이 자습서를 웹에 조금 더 깊이 통합하고 싶었습니다.

원본 링크는 여기 에서 찾을 수 있습니다 .


/usr/share/docs/bluez/NEWS.Debian.gz에 따르면 hidd는 udev를 위해 bluez 4.0부터 더 이상 사용되지 않는다고 생각하지만 bluez-compat 없이는 어떻게 할 수 있는지에 대한 문서를 찾을 수 없습니다.
tu-Reinstate Monica-dor duh

3

또한 ryandlf의 대답을 직접 시도했지만 결국 동일한 작업을 수행 할 수있는 또 다른 쉬운 설정을 찾았습니다.

주요 아이디어는 원격 장치가 페어링되고 신뢰할 수있게되면 hcitool spinq사용 가능한 모든 장치를 연결할 수 있도록 정기적 인 조회를 시작한다는 것입니다.

먼저 sudo Bluetoothctl -a아래 단계를 시작 하고 따르십시오. 이것들은 ArchLinux 위키 에서 왔지만 우분투에서도 동일하게 작동하는 것으로 입증되었습니다.

[bluetooth]# power on
[bluetooth]# agent KeyboardOnly
[bluetooth]# pairable on
[bluetooth]# scan on

마지막 명령은 이와 같이 사용 가능한 모든 (페어링 대기 중) 블루투스 키보드를 표시합니다.

Discovery started
[CHG] Controller 01:02:03:04:05:06 Discovering: yes

키보드의 주소를 확인하고 계속 진행하십시오.

[bluetooth]# pair 01:02:03:04:05:06
[bluetooth]# trust 01:02:03:04:05:06
[bluetooth]# connect 01:02:03:04:05:06
[bluetooth]# quit

이제이 간단한 스크립트를 /etc/init.d/keyboard

#! /bin/sh
sudo hcitool spinq
exit 0

그런 다음이를 실행하십시오.

sudo chmod +x /etc/init.d/keyboard
sudo service keyboard enable
sudo update-rc.d keyboard defaults
sudo service keyboard start

그게 다야. 이제 Bluetooth 키보드를 켤 때마다 Linux에 자동으로 연결됩니다.


$ sudo update-rc.d keyboard defaults insserv: script keyboard is not an executable regular file, skipped!해결하기 위해을 수행했습니다 sudo chmod +x /etc/init.d/keyboard. 그런 다음 수행했습니다 sudo update-rc.d keyboard defaults. 수신 된 경고 : insserv: warning: script 'keyboard' missing LSB tags and overrides.
orschiro

무엇에 대해 sudo service keyboard enable?
orschiro

그렇습니다 chmod +x.
Ch.Idea

LSB 태그 누락 오류는 무시할 수 있으며이 작업에서 실제로 중요하지는 않습니다. 원하는 경우 인터넷 검색을 통해 검색하고 파일 위에 붙여 넣습니다. 그들은 간단한 형태입니다.
Ch.Idea

1

Apple BlueTooth 키보드와 비슷한 문제가있었습니다. 열쇠 느낌이 좋아서 샀습니다. 그러나 연결 상태를 유지할 수 없었습니다. 키보드 식별에 문제가있는 것 같습니다. 실제 이름을 가진 실제 MAC 컴퓨터와 일치하면 Linux 또는 Windows에 연결하는 데 더 이상 문제가 없었습니다. 아내는 이제 아무 문제없이 그것을 사용합니다.

나는 이것이 당신의 상황에서 어떻게 전치 될 수 있는지 모르겠지만, 이것이 출발점이 될 수 있습니다. 다른 친구의 경우 여기에서 장치 식별이 ​​주요 문제인 것 같습니다.


1

이후 bluez 5.35 (9 월 2015 년), 구성 파일을 수정하기에 충분합니다 /etc/bluetooth/main.conf수 있도록하여 AutoEnable=true.

터미널에서 새 장치를 페어링하려면 (페어링하려는 장치 01:02:03:04:05:06의 mac 주소 라고 가정 ) :

$ bluetoothctl
# power on
# agent KeyboardOnly
# default-agent
# pairable on
# scan on
# pair 01:02:03:04:05:06
# trust 01:02:03:04:05:06
# connect 01:02:03:04:05:06
# quit
$ exit

예. 트러스트 부분은 시작시 자동 재 연결이 가능하다는 점에서 차이를 만들어 냈습니다.
p1l0t

0

나는 블루투스 키보드를 구입하여이 페이지에 착륙했으며 ryandlf와 Ch.Idea가 제안한 것을 시도했다. 작동하지 않았다. 몇 가지 분석 및 시험 후이 조합을 발견했습니다.

먼저, 사람들이 제안했듯이 GUI에서 장치를 수동으로 연결하십시오. 작동하는지 확인하십시오. 그런 다음 연결을 끊고 스위치를 끄십시오. 그런 다음 수동으로 다시 시작합니다.

루트 권한을 얻으십시오.

su

그때:

hcitool scan

기기의 버튼이나 다른 항목을 동시에 누르고 검색되는지 확인하십시오. 발견 된 경우 주소 (예 : 20 : 73 : 00 : 01 : 90 : 65)와 장치에 대한 설명 (예 : Bluetooth 키보드)을 인쇄해야합니다. 그 주소를 클립 보드로 가져옵니다.

다음으로 연결할 준비가되었습니다. 인터넷에서 제안하는 모든 사람은 모두 현재 존재하지 않는 것처럼 잘못되고 있습니다. 그래서이 작업을 오랫동안 수행 할 수 없었습니다. hcitool의 사람을 살펴본 후, 유용한 명령을 많이 찾았으며 dbus 등을 사용할 필요가 없었습니다. 따라서 연결하기 위해 다음을 발행합니다.

hcitool cc 20:73:00:01:90:65

그리고 그게 다야.

실험에 따르면 장치를 일시적으로 끄면 자동으로 다시 연결되는 것으로 나타났습니다.

2 부.

다른 답변에서 제안한대로 서비스도 만들었습니다. 먼저 다음 내용으로 /etc/init.d/keyboard 파일을 작성했습니다.

#! /bin/sh
sudo hcitool cc 20:73:00:01:90:65
exit 0

그런 다음 루트로

chmod +x /etc/init.d/keyboard
service keyboard enable
update-rc.d keyboard defaults
service keyboard start

그게 다야. 도움이 되길 바랍니다.

아, 그리고 데비안 9입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.