macOSとUbuntuの両方で同じBluetoothキーボードとマウスを使用するにはどうすればよいですか?


8

macOSとUbuntuの両方を搭載したiMacを使用しています。OSを切り替えるたびに再ペアリングすることなく、両方のオペレーティングシステムでBluetoothマウスとキーボードを使用できるようにしたいと考えています。

誰かがこの問題を抱えており、解決策を見つけましたか?


デュアルブートをどのようにインストールしましたか(Ubuntu 18.04を搭載したMac OSXですか)-Ubuntuはextern usb-harddiskにインストールされており、grubはusb-harddiskで実行されていますか?-またはそれはあなたのサイトで異なりますか?
dschinn1001 2018

これは安全のためではなく、OSを離れるとBluetoothが無効になりますか?-ログアウト後にコンピュータがスタンバイになる場合...およびBluetoothが有効になっている場合、安全性は低下します...
dschinn1001

回答:


11

この質問に対する答えはあなたに大まかな考えを与えますが、macOS側では少し曖昧なので、私が使用した手順を詳しく説明します。

以下のOSバージョン。ファイル名と場所はバージョンによって変更される可能性があるため、これは私にとってうまくいったものです。

  • MacOS High Sierra 10.13.1
  • Ubuntu 17.04

私はあなたが少なくともMacOSで読み書き可能でUbuntuで読み込めるファイルシステム(USBキーなど)を持っていると仮定しています。

一般的な考え方は、デバイスをOSにペアリングすると、一意のリンクキーが生成されるということです。これは、次にペアリングがアクティブになったときの認証に必要です。これらのリンクキーをMacOSペアリングからUbuntuペアリングに転送して、ペアリングが両方のOSで機能するようにすることができます。

  1. Ubuntuを起動
  2. 通常どおりデバイスをペアリング
  3. MacOSで再起動する
  4. 通常どおりデバイスをペアリング
  5. 端末ウィンドウで次のように入力しますsudo defaults read com.apple.bluetoothd.plist LinkKeys。これにより、次のような出力が得られます。
{
    "a0-99-9b-16-43-d2" = {
        "00-1f-20-47-e5-22" = <4d6b002f 37584c09 ee219365 b78ba03e>;
        "04-0c-ce-3d-15-4d" = <fe998c62 4bb29a7c 40b2e670 10db71ed>;
    };
}

これa0-99-9b-16-43-d2が私のシステムのBluetoothアダプターのMACアドレスです。

続いて、私がペアリングしたデバイスのMACアドレス(00-1f-20-47-e5-22および04-0c-ce-3d-15-4dそれらのペアリングに関連付けられたリンクキー(4d6b002f 37584c09 ee219365 b78ba03eおよびfe998c62 4bb29a7c 40b2e670 10db71edそれぞれ))です。

  1. この出力をMacOSとUbuntuの両方に表示されるファイルにリダイレクトします。
sudoのデフォルトはcom.apple.bluetoothd.plist LinkKeys> /Volumes/4T/linkkeys.txtを読み取ります
  1. ペアリングしたすべてのデバイスの電源を切ります
  2. Ubuntuで再起動します。 まだBluetoothデバイスの電源を入れないでください。うまくいけば、この時点で使用する有線キーボードとマウスがあります
  3. ターミナルウィンドウを開く
  4. Bluetoothサービスを停止します。
sudoサービスBluetooth停止
  1. ディレクトリを見てください/var/lib/bluetooth。ブルートゥースアダプターのMACアドレスのサブディレクトリエントリが、のような形式で表示されA0:99:9B:16:43:D2ます。インサイドあなたは、各デバイスのMACアドレス用のサブディレクトリを参照してくださいようにすべきであるということ00:1F:20:47:E5:2204:0C:CE:3D:15:4D。これらのディレクトリ内に、という名前のファイルがありますinfo。これらのファイルをお気に入りのエディターで編集します。
sudo gedit / var / lib / bluetooth / A0:99:9B:16:43:D2 / 00:1F:20:47:E5:22 / info
sudo gedit / var / lib / bluetooth / A0:99:9B:16:43:D2 / 04:0C:CE:3D:15:4D / info
  1. これらのファイルにはKeyエントリがあります。このキーは、MacOSで見つかったものと同じにする必要がありますが、いくつかの重要なフォーマットの違いがあります。
    • 削除されたスペース
    • 大文字の16進数
    • バイトスワップされた128ビット整数(つまり、2つの16進数のチャンクに分割され、反転されます)

これは次のようにして実現できます。

$ echo 4d6b002f 37584c09 ee219365 b78ba03e | sed 's / //g;s/../\U&\n/g' | tac | tr -d '\ n'; エコー
3EA08BB7659321EE094C58372F006B4D
$ echo fe998c62 4bb29a7c 40b2e670 10db71ed | sed 's / //g;s/../\U&\n/g' | tac | tr -d '\ n'; エコー
ED71DB1070E6B2407C9AB24B628C99FE
ドル 

これらの再フォーマットされたキーを編集して、適切な情報ファイルのキーエントリにします。ほとんどのsudo場合、必要になります。

  1. Bluetoothサービスを再起動します。
sudoサービスBluetooth開始
  1. 次にBluetoothデバイスをオンにします。それらは認識され、MacOSとUbuntuの両方でペアリングがアクティブ/有効である必要があります。

更新:ペアリングはMacOSとUbuntuの両方でアップグレードされても持続しているようです。現在、それぞれ10.13.6と18.04を実行しており、まだこの手順をやり直す必要はありません。


1
Digital Traumaの回答にはコメントできないので、MacOのBluetoothキー形式が最近変更され、その間、復帰は必要なくなったことをここで述べます。したがって、主要な形式のMacOをLinuxにコピーする場合(ステップ12)、文字を大文字に変換するだけで済みます。
Nizar

@Nizar情報をありがとう。試してみる機会があれば更新します。
デジタルトラウマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.