¿Cómo puedo usar el mismo teclado y mouse Bluetooth con macOS y Ubuntu?

8

Tengo un iMac con macOS y Ubuntu en él. Quiero poder usar mi mouse y teclado Bluetooth con ambos sistemas operativos sin tener que volver a emparejarlos cada vez que cambie el sistema operativo.

¿Alguien ha tenido este problema y ha encontrado una solución?

tjespe
fuente
¿Cómo instaló el arranque dual (Mac OSX con Ubuntu 18.04?): ¿Ubuntu está instalado en un disco duro externo usb y grub se está ejecutando en un disco duro usb? ¿O es diferente en su sitio?
dschinn1001
¿No es esto por razones de seguridad, que bluetooth está desactivado cuando abandonas el sistema operativo? - en caso de que la computadora esté en espera después del cierre de sesión ... y en caso de que Bluetooth esté habilitado, entonces habría menos seguridad ...
dschinn1001

Respuestas:

11

Las respuestas a esta pregunta le dan la idea general, aunque un poco vaga en el lado de macOS, por lo que explicaré el procedimiento que utilicé.

Las versiones del sistema operativo de la siguiente manera. Los nombres y las ubicaciones de los archivos parecen estar sujetos a cambios según las versiones, por lo que esto es lo que funcionó para mí.

  • MacOS High Sierra 10.13.1
  • Ubuntu 17.04

Supongo que tiene un sistema de archivos (llave USB o lo que sea) que es al menos lectura-escritura en MacOS y legible en Ubuntu.

La idea general es que cuando empareja un dispositivo con un sistema operativo, se genera una clave de enlace única, que es necesaria para la autenticación la próxima vez que el emparejamiento esté activo. Puede transferir estas claves de enlace de los emparejamientos de MacOS a los emparejamientos de Ubuntu para que funcionen en ambos sistemas operativos.

  1. Arrancar Ubuntu
  2. Empareje los dispositivos como de costumbre
  3. Reiniciar en MacOS
  4. Empareje los dispositivos como de costumbre
  5. En una ventana de terminal: sudo defaults read com.apple.bluetoothd.plist LinkKeys. Esto le dará resultados como:
{
    "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>;
    };
}

Aquí a0-99-9b-16-43-d2está la dirección MAC del adaptador bluetooth en mi sistema.

Siguientes que son las direcciones MAC de los dispositivos que he pareadas ( 00-1f-20-47-e5-22y 04-0c-ce-3d-15-4d, y las claves de enlace asociados con esas parejas ( 4d6b002f 37584c09 ee219365 b78ba03ey fe998c62 4bb29a7c 40b2e670 10db71edrespectivamente).

  1. Redireccione esta salida a un archivo visible tanto para MacOS como para Ubuntu:
sudo por defecto lee com.apple.bluetoothd.plist LinkKeys> /Volumes/4T/linkkeys.txt
  1. Apague todos los dispositivos que haya emparejado
  2. Reiniciar en Ubuntu. No encienda sus dispositivos bluetooth todavía. Espero que tengas un teclado y un mouse con cable para usar en este momento
  3. Abrir una ventana de terminal
  4. Detenga el servicio de bluetooth:
servicio de sudo bluetooth stop
  1. Mira en el directorio /var/lib/bluetooth. Debería ver una entrada de subdirectorio para la dirección MAC del adaptador bluetooth, formateada como A0:99:9B:16:43:D2. Dentro de eso debería ver subdirectorios para cada dirección MAC del dispositivo, como 00:1F:20:47:E5:22y 04:0C:CE:3D:15:4D. Dentro de esos directorios encontrará archivos con nombre info. Edite estos archivos con su editor favorito:
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. En estos archivos encontrarás una Keyentrada. Esta clave debe ser igual a la que encontró en MacOS, pero con algunas diferencias de formato importantes:
    • espacios eliminados
    • dígitos hexadecimales en mayúsculas
    • entero de 128 bits con intercambio de bytes (es decir, dividido en dos fragmentos de dígitos hexadecimales e invertido)

Puede lograr esto de la siguiente manera:

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

Edite estas claves reformateadas en la entrada Clave de los archivos de información apropiados. Lo más probable sudoserá requerido.

  1. Reinicie el servicio bluetooth:
servicio de sudo bluetooth start
  1. Ahora encienda sus dispositivos bluetooth. Deben ser reconocidos y los emparejamientos activos / válidos tanto en MacOS como en Ubuntu.

Actualización: los emparejamientos parecen haber persistido a través de actualizaciones tanto en MacOS como en Ubuntu. Ahora estoy ejecutando 10.13.6 y 18.04 respectivamente y aún no he tenido que rehacer este procedimiento.

Trauma digital
fuente
1
No puedo comentar la respuesta de Digital Trauma, por lo que mencionaré aquí que el formato de la llave bluetooth en MacOs se ha modificado recientemente, y la reversión ya no es necesaria. Entonces, al copiar la forma clave de MacOs a Linux (paso 12), uno solo necesita transformar las letras en mayúsculas.
Nizar
@Nizar gracias por la información. Una vez que tenga la oportunidad de probarlo, lo actualizaré.
Trauma digital