Les réponses à cette question vous donnent une idée générale, bien qu'un peu vague du côté macOS, je vais donc expliquer la procédure que j'ai utilisée.
Versions du système d'exploitation comme suit. Les noms et les emplacements des fichiers semblent être sujets à changement selon les versions, c'est donc ce qui a fonctionné pour moi.
- MacOS High Sierra 10.13.1
- Ubuntu 17.04
Je suppose que vous avez un système de fichiers (clé USB ou autre) qui est au moins en lecture-écriture dans MacOS et lisible dans Ubuntu.
L'idée générale est que lorsque vous associez un appareil à un système d'exploitation, une clé de lien unique est générée, ce qui est nécessaire pour l'authentification la prochaine fois que l'appariement est actif. Vous pouvez transférer ces clés de liaison des paires MacOS aux paires Ubuntu de telle sorte que les paires fonctionnent dans les deux systèmes d'exploitation.
- Boot Ubuntu
- Jumeler les appareils comme d'habitude
- Redémarrez sous MacOS
- Jumeler les appareils comme d'habitude
- Dans un type de terminal:
sudo defaults read com.apple.bluetoothd.plist LinkKeys
. Cela vous donnera quelque chose comme:
{
"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>;
};
}
Voici a0-99-9b-16-43-d2
l'adresse MAC de l'adaptateur Bluetooth sur mon système.
A la suite qui sont les adresses MAC des appareils que je paires ( 00-1f-20-47-e5-22
et 04-0c-ce-3d-15-4d
et les clés de liaison associés à ces appariements ( 4d6b002f 37584c09 ee219365 b78ba03e
et fe998c62 4bb29a7c 40b2e670 10db71ed
respectivement).
- Redirigez cette sortie vers un fichier visible à la fois pour MacOS et Ubuntu:
sudo par défaut lire com.apple.bluetoothd.plist LinkKeys> /Volumes/4T/linkkeys.txt
- Éteignez tous les appareils que vous avez couplés
- Redémarrez dans Ubuntu. N'allumez pas encore vos appareils Bluetooth. J'espère que vous avez un clavier et une souris filaires à utiliser à ce stade
- Ouvrez une fenêtre de terminal
- Arrêtez le service Bluetooth:
sudo service bluetooth stop
- Regardez dans le répertoire
/var/lib/bluetooth
. Vous devriez voir une entrée de sous-répertoire pour l'adresse MAC de l'adaptateur Bluetooth, formatée comme A0:99:9B:16:43:D2
. À l'intérieur, vous devriez voir des sous-répertoires pour chaque adresse MAC de périphérique, comme 00:1F:20:47:E5:22
et 04:0C:CE:3D:15:4D
. À l'intérieur de ces répertoires, vous trouverez des fichiers nommés info
. Modifiez ces fichiers avec votre éditeur préféré:
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
- Dans ces fichiers, vous trouverez une
Key
entrée. Cette clé doit être identique à celle que vous avez trouvée dans MacOS, mais avec quelques différences de formatage importantes:
- espaces supprimés
- chiffres hexadécimaux en majuscules
- entier de 128 bits à échange d'octets (c.-à-d. divisé en 2 blocs de chiffres hexadécimaux et inversé)
Vous pouvez y parvenir comme suit:
$ echo 4d6b002f 37584c09 ee219365 b78ba03e | sed 's / //g;s/../\U&\n/g' | tac | tr -d '\ n'; écho
3EA08BB7659321EE094C58372F006B4D
$ echo fe998c62 4bb29a7c 40b2e670 10db71ed | sed 's / //g;s/../\U&\n/g' | tac | tr -d '\ n'; écho
ED71DB1070E6B2407C9AB24B628C99FE
$
Modifiez ces clés reformatées dans l'entrée Clé des fichiers d'informations appropriés. Très probablement sudo
sera nécessaire.
- Redémarrez le service Bluetooth:
sudo service bluetooth start
- Allumez maintenant vos appareils Bluetooth. Ils doivent être reconnus et les paires actives / valides dans MacOS et Ubuntu.
Mise à jour: les couplages semblent avoir persisté lors des mises à niveau sur MacOS et Ubuntu. J'utilise maintenant 10.13.6 et 18.04 respectivement et je n'ai pas encore eu à refaire cette procédure.