web-dev-qa-db-ja.com

起動時にBluetoothキーボード自動接続を使用するにはどうすればよいですか?

HTPC用のBluetoothキーボードがあります。 Bluetooth経由でコンピューターとペアリングすると、正常に動作します。ただし、キーボードまたはコンピューターの電源をオフにすると、電源を入れ直したときに再度接続する必要があります(コンピューターとキーボードにパスコードを入力する必要があります)。私は多くのフォーラムを調べましたが、一見重要なbluetoothファイルがいくつか欠落していることがわかりました。

/etc/default/bluetooth

/etc/init.d/bluetooth

/etc/bluetooth/hcid.conf

これまでにオンラインで見つけた手順で、これらのファイルの特定の行を変更する必要があります。それらが存在しないので、私はできません。

依存関係などがありませんか?また、Bluemanをインストールしようとしましたが、まったく役に立ちませんでした。

Ubuntu 10.10(Maverick)を実行しています。

元の投稿: http://ubuntuforums.org/showthread.php?t=1643386&highlight=bluetooth

10
Grant

この答えは、thetechdepo.comでAndrew Martinが作成したチュートリアルからのものです。元の投稿については以下のリンクを参照してください。ただし、これは完全な書き直しです。これはAppleキーボード専用に書かれていますが、複数のデバイスに使用しているため、Appleやキーボード固有のものではありません。指示に従うだけで、UbuntuでBluetoothデバイスを自動接続できます。

[システム設定]> [Bluetooth]に移動し、指示に従って新しく接続したBluetoothデバイスを追加します。

指示に従ってピンを入力し、要求されたらピンを入力し、デバイスが接続されて動作した後、デバイスの電源を切ります。次に、自動接続部分に進みます。

ターミナルを開き、次のコマンドを入力します。

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

最後のコマンドは、次のようなデバイスの出力を表示します。

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

新しいパッケージをインストールして、コマンドライン経由でbluetoothに接続できるようにします。

$ 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

コンピューターを再起動すると、デバイスは自動接続され、何もしなくても動作するはずです。

これが何人かの人々の助けになることを願っています。私の問題の解決策を見つけるのに長い時間がかかりました。

元のリンクは here にあります。

11
ryandlf

Ryandlfの答えも自分で試しましたが、最終的に同じ作業を行う別の簡単なセットアップを見つけました。

主なアイデアは、リモートデバイスがペアリングされて信頼されると、hcitool spinqが定期的な照会を開始し、使用可能なすべてのデバイスを接続できるようにすることです。

まず、Sudo Bluetoothctl -aを開始し、以下の手順に従います。これらは ArchLinux wiki からのものですが、Ubuntuでも同じように機能することが証明されています。

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

最後のコマンドは、利用可能な(ペアリングを待機している)すべてのBluetoothキーボードをこのように表示します。

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に自動的に接続されます。

3
Ch.Idea

Apple BlueToothキーボードでも同様の問題がありました。鍵の感触が好きだったので買った。ただし、接続を維持できませんでした。問題はキーボードの識別にあるように見えました。実際の名前が付けられた実際のMACコンピューターと一致すると、LinuxまたはWindowsに接続する際に問題はなくなりました。妻は問題なく使用しています。

これがあなたの状況でどのように転置されるかわかりませんが、これは出発点になります。他の友人からは、ここでデバイスの識別が主な問題であるようです。

1
jfmessier

bluez 5.35 (2015年9月)なので、/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
1
psq

ブルートゥースキーボードを購入し、ここでこのページにアクセスして、ryandlfとCh.Ideaが提案したことを試しました。うまくいきませんでした。いくつかの分析と試行の後、私はこの組み合わせを見つけました:

まず、みんなが提案したように、GUIからデバイスを手動で接続してみてください。動作することを確認してください。次に、それを切断し、電源を切ります。その後、手動でやり直します。

ルート権限を取得します。

su

次に:

hcitool scan

同時にボタンまたはデバイス上の何かを押して、それが発見されたことを確認します。発見された場合、そのアドレスを印刷する必要があります。 20:73:00:01:90:65、およびデバイスの説明(例: Bluetoothキーボード。そのアドレスをクリップボードに取り込みます。

次に、接続する準備が整いました。 ISがそれ以上存在しないと誤解しているインターネット上のすべての人が隠れています。だからこそ、私はこの作業をこれほど長くすることができませんでした。そのため、接続するために以下を発行します。

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

それでおしまい。それが役に立てば幸い。

ああ、それはDebian 9です。

0
Leonid Titov