Как я могу использовать одну и ту же Bluetooth-клавиатуру и мышь с macOS и Ubuntu?
У меня есть iMac с MacOS и Ubuntu. Я хочу иметь возможность использовать мышь и клавиатуру Bluetooth с обеими операционными системами без повторного сопряжения при каждом переключении ОС.
Кто-нибудь имел эту проблему и нашел решение?
1 ответ
Ответы на этот вопрос дают вам общую идею, хотя и немного смутную со стороны macOS, поэтому я изложу процедуру, которую я использовал.
Версии ОС следующие. Имена файлов и их расположение могут меняться в зависимости от версии, так что это то, что сработало для меня.
- MacOS High Sierra 10.13.1
- Ubuntu 17.04
Я предполагаю, что у вас есть файловая система (USB-ключ или что-то еще), которая по крайней мере для чтения-записи в MacOS и для чтения в Ubuntu.
Общая идея заключается в том, что при сопряжении устройства с операционной системой генерируется уникальный ключ связи, который необходим для аутентификации при следующем активном сопряжении. Вы можете перенести эти ключи ссылок из пар MacOS в пары Ubuntu, чтобы они работали в обеих ОС.
- Загрузочный Ubuntu
- Сопряжение устройства в обычном режиме
- Перезагрузитесь в MacOS
- Сопряжение устройства в обычном режиме
- В окне терминала введите:
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" =; }; }
Вот a0-99-9b-16-43-d2
это MAC-адрес адаптера Bluetooth в моей системе.
После этого MAC-адреса устройств, которые я подключил (00-1f-20-47-e5-22
а также 04-0c-ce-3d-15-4d
и ключи связи, связанные с этими парами (4d6b002f 37584c09 ee219365 b78ba03e
а также fe998c62 4bb29a7c 40b2e670 10db71ed
соответственно).
- Перенаправьте этот вывод в файл, видимый как для MacOS, так и для Ubuntu:
По умолчанию sudo читайте com.apple.bluetoothd.plist LinkKeys> /Volumes/4T/linkkeys.txt
- Выключите все сопряженные устройства
- Перезагрузитесь в Ubuntu. Пока не включайте свои устройства Bluetooth. Надеюсь, у вас есть проводная клавиатура и мышь для использования на этом этапе
- Откройте окно терминала
- Остановите службу Bluetooth:
остановка службы sudo
- Посмотри в каталоге
/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
- В этих файлах вы найдете
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 $
Отредактируйте эти переформатированные ключи в записи Key соответствующих информационных файлов. Более вероятный sudo
потребуется.
- Перезапустите службу Bluetooth:
sudo service bluetooth start
- Теперь включите ваши устройства Bluetooth. Они должны быть распознаны и пары активны / действительны как в MacOS, так и в Ubuntu.
Обновление. Похоже, что пары сохранились благодаря обновлениям MacOS и Ubuntu. Я сейчас работаю 10.13.6 и 18.04 соответственно и еще не пришлось переделывать эту процедуру.