如何在macOS和Ubuntu上使用相同的蓝牙键盘和鼠标?


8

我有一台同时装有macOS和Ubuntu的iMac。我希望能够在两个操作系统上都使用蓝牙鼠标和键盘,而不必每次切换操作系统时都进行配对。

有谁遇到这个问题并想出解决方案?


您如何安装双重引导(带有Ubuntu 18.04的Mac OSX?)-Ubuntu是否安装在extern usb硬盘上,而grub在usb硬盘上运行?-还是您的网站不同?
dschinn1001

这不是出于安全目的,退出操作系统时禁用了蓝牙吗?-如果计算机在注销后处于待机状态...并且启用了蓝牙,则安全性会降低...
dschinn1001

Answers:


11

这个问题的答案为您提供了总体思路,尽管在macOS方面有点模糊,所以我将阐明我使用的过程。

操作系统版本如下。文件名和位置可能会根据版本而更改,所以这对我来说很有效。

  • MacOS High Sierra 10.13.1
  • Ubuntu 17.04

我假设您拥有一个文件系统(USB密钥或其他),至少在MacOS中是可读写的,而在Ubuntu中则是可读的。

通常的想法是,当您将设备与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是我的系统上蓝牙适配器的MAC地址。

下列那些,我已配对设备的MAC地址(00-1f-20-47-e5-22以及04-0c-ce-3d-15-4d和与这些配对(相关联的链接键4d6b002f 37584c09 ee219365 b78ba03efe998c62 4bb29a7c 40b2e670 10db71ed分别地)。

  1. 将此输出重定向到MacOS和Ubuntu都可见的文件:
sudo默认读取com.apple.bluetoothd.plist LinkKeys> /Volumes/4T/linkkeys.txt
  1. 关闭已配对的所有设备
  2. 重新启动进入Ubuntu。 请勿开启您的蓝牙设备。希望您现在可以使用有线键盘和鼠标
  3. 打开终端窗口
  4. 停止蓝牙服务:
sudo服务蓝牙停止
  1. 在目录中查找/var/lib/bluetooth。您应该看到蓝牙适配器MAC地址的子目录条目,格式为A0:99:9B:16:43:D2。在其中,您应该看到每个设备MAC地址的子目录,例如00:1F:20:47:E5:2204:0C:CE:3D:15:4D。在这些目录中,您会找到名为的文件info。使用您喜欢的编辑器编辑这些文件:
须藤gedit / var / lib / bluetooth / A0:99:9B:16:43:D2 / 00:1F:20:47:E5:22 / info
须藤gedit / var / lib / bluetooth / A0:99:9B:16:43:D2 / 04:0C:CE:3D:15:4D / info
  1. 在这些文件中,您将找到一个Key条目。该密钥必须与您在MacOS中找到的密钥相同,但有一些重要的格式差异:
    • 删除空格
    • 大写十六进制数字
    • 字节交换的128位整数(即,分成2个十六进制数字块并取反)

您可以按照以下步骤实现:

$ 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. 重新启动蓝牙服务:
sudo服务蓝牙启动
  1. 现在打开您的蓝牙设备。它们应该被识别,并且配对在MacOS和Ubuntu中均有效/有效。

更新:配对似乎在MacOS和Ubuntu上都通过升级得以持续。我现在分别运行10.13.6和18.04,还没有需要重做此过程。


1
我无法评论Digital Trauma的回答,因此在这里我要提到MacOs中的蓝牙密钥格式最近已更改,并且不再需要还原。因此,将密钥形式MacO复制到Linux(步骤12)时,只需要将字母转换为大写即可。
Nizar

@Nizar感谢您提供信息。一旦有机会尝试一下,我会更新。
Digital Trauma
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.