Как я могу использовать одну и ту же Bluetooth-клавиатуру и мышь с macOS и Ubuntu?

8

У меня есть iMac с macOS и Ubuntu. Я хочу иметь возможность использовать мышь и клавиатуру Bluetooth с обеими операционными системами без повторного сопряжения при каждом переключении ОС.

Кто-нибудь имел эту проблему и нашел решение?

tjespe
источник
Как вы установили двойную загрузку (Mac OSX с Ubuntu 18.04?) - установлена ​​ли Ubuntu на внешний usb-жесткий диск, а grub работает на USB-жестком диске? - или это отличается на вашем сайте?
dschinn1001
это не в целях безопасности, что блютус отключен, когда вы покидаете ОС? - в случае, если компьютер выйдет из режима ожидания после выхода из системы ... и если Bluetooth включен, безопасность будет ниже ...
dschinn1001

Ответы:

11

Ответы на этот вопрос дают вам общую идею, хотя и немного смутную со стороны macOS, поэтому я изложу процедуру, которую я использовал.

Версии ОС следующие. Имена файлов и их расположение могут меняться в зависимости от версии, так что это то, что сработало для меня.

  • MacOS High Sierra 10.13.1
  • Ubuntu 17.04

Я предполагаю, что у вас есть файловая система (USB-ключ или что-то еще), которая как минимум для чтения-записи в MacOS и для чтения в Ubuntu.

Общая идея заключается в том, что при сопряжении устройства с операционной системой генерируется уникальный ключ связи, который необходим для аутентификации при следующем активном сопряжении. Вы можете перенести эти ключи ссылок из пар MacOS в пары Ubuntu, чтобы они работали в обеих ОС.

  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-d2MAC-адрес адаптера Bluetooth в моей системе.

Далее следуют 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
  1. Посмотри в каталоге /var/lib/bluetooth. Вы должны увидеть запись подкаталога для MAC-адреса адаптера Bluetooth, отформатированную как A0:99:9B:16:43:D2. Внутри этого вы должны увидеть подкаталоги для каждого MAC-адреса устройства, как 00:1F:20:47:E5:22и 04: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, но с некоторыми важными различиями форматирования:
    • пробелы удалены
    • шестнадцатеричные цифры в верхнем регистре
    • 128-битное целое число с байт-заменой (то есть разбитое на 2 части шестнадцатеричных чисел и перевернутое)

Вы можете достичь этого следующим образом:

$ echo 4d6b002f 37584c09 ee219365 b78ba03e | sed 's / //g;s/../\U&\n/g' | так | tr -d '\ n'; эхо
3EA08BB7659321EE094C58372F006B4D
$ echo fe998c62 4bb29a7c 40b2e670 10db71ed | sed 's / //g;s/../\U&\n/g' | так | tr -d '\ n'; эхо
ED71DB1070E6B2407C9AB24B628C99FE
$ 

Отредактируйте эти переформатированные ключи в записи Key соответствующих информационных файлов. Скорее всего sudo, потребуется.

  1. Перезапустите службу Bluetooth:
sudo service bluetooth start
  1. Теперь включите ваши устройства Bluetooth. Они должны быть распознаны и пары активны / действительны как в MacOS, так и в Ubuntu.

Обновление. Похоже, что пары сохранились благодаря обновлениям MacOS и Ubuntu. Я сейчас работаю 10.13.6 и 18.04 соответственно и еще не пришлось переделывать эту процедуру.

Цифровая травма
источник
1
Я не могу комментировать ответ Digital Trauma, поэтому я упомяну здесь, что формат блютус-ключа в MacOs был недавно изменен, и реверсия тем временем больше не нужна. Таким образом, при копировании ключа из MacO в Linux (шаг 12) нужно только преобразовать буквы в верхний регистр.
Низар
@ Низар спасибо за информацию. Как только у меня будет возможность попробовать, я обновлю.
Цифровая травма