Jak korzystać z tej samej klawiatury i myszy Bluetooth zarówno w systemie macOS, jak i Ubuntu?

8

Mam iMaca z systemem macOS i Ubuntu. Chcę móc korzystać z myszy i klawiatury Bluetooth w obu systemach operacyjnych bez konieczności ponownego parowania przy każdym przełączeniu systemu operacyjnego.

Czy ktoś miał ten problem i wymyślił rozwiązanie?

tjespe
źródło
Jak zainstalowałeś podwójny rozruch (Mac OSX z Ubuntu 18.04?) - czy Ubuntu jest zainstalowany na zewnętrznym dysku twardym USB, a Grub działa na dysku twardym USB? - czy jest inaczej w Twojej witrynie?
dschinn1001
czy to nie ze względów bezpieczeństwa, że ​​bluetooth jest wyłączony, gdy opuszczasz system operacyjny? - w przypadku gdy komputer byłby w stanie gotowości po wylogowaniu ... i gdyby Bluetooth był włączony, wtedy byłoby mniej bezpieczeństwa ...
dschinn1001

Odpowiedzi:

11

Odpowiedzi na to pytanie dają ogólny pomysł, choć nieco niejasny po stronie macOS, więc opiszę procedurę, którą zastosowałem.

Wersje systemu operacyjnego w następujący sposób. Nazwy i lokalizacje plików mogą się zmieniać w zależności od wersji, więc to działało dla mnie.

  • MacOS High Sierra 10.13.1
  • Ubuntu 17.04

Zakładam, że masz system plików (klucz USB lub cokolwiek innego), który jest przynajmniej do odczytu i zapisu w MacOS i do odczytu w Ubuntu.

Ogólna idea polega na tym, że podczas parowania urządzenia z systemem operacyjnym generowany jest unikalny klucz łącza, który jest niezbędny do uwierzytelnienia przy następnym parowaniu. Możesz przenieść te klucze linków z par MacOS do par Ubuntu, aby pary działały w obu systemach operacyjnych.

  1. Uruchom Ubuntu
  2. Sparuj urządzenia jak zwykle
  3. Uruchom ponownie w systemie MacOS
  4. Sparuj urządzenia jak zwykle
  5. W oknie terminala typu: sudo defaults read com.apple.bluetoothd.plist LinkKeys. To da ci coś w rodzaju:
{
    „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>;
    };
}

Oto a0-99-9b-16-43-d2adres MAC adaptera bluetooth w moim systemie.

Poniżej znajdują się adresy MAC urządzeń, które sparowałem ( 00-1f-20-47-e5-22i 04-0c-ce-3d-15-4dklucze łącza powiązane z tymi parami ( 4d6b002f 37584c09 ee219365 b78ba03ei fe998c62 4bb29a7c 40b2e670 10db71edodpowiednio).

  1. Przekieruj to wyjście do pliku widocznego zarówno dla MacOS, jak i Ubuntu:
sudo defaults read com.apple.bluetoothd.plist LinkKeys> /Volumes/4T/linkkeys.txt
  1. Wyłącz wszystkie sparowane urządzenia
  2. Uruchom ponownie w Ubuntu. Nie włączaj jeszcze urządzeń Bluetooth. Mam nadzieję, że w tym momencie masz przewodową klawiaturę i mysz
  3. Otwórz okno terminala
  4. Zatrzymaj usługę Bluetooth:
usługa sudo bluetooth stop
  1. Zajrzyj do katalogu /var/lib/bluetooth. Powinieneś zobaczyć pozycję podkatalogu dla adresu MAC adaptera bluetooth, sformatowanego jak A0:99:9B:16:43:D2. Wewnątrz powinieneś zobaczyć podkatalogi dla każdego adresu MAC urządzenia, takiego jak 00:1F:20:47:E5:22i 04:0C:CE:3D:15:4D. W tych katalogach znajdziesz pliki o nazwie info. Edytuj te pliki za pomocą swojego ulubionego edytora:
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. W tych plikach znajdziesz Keywpis. Ten klucz musi być taki sam jak w MacOS, ale z pewnymi istotnymi różnicami w formatowaniu:
    • spacje usunięte
    • cyfry szesnastkowe dużymi literami
    • 128-bitowa liczba całkowita zamieniona na bajty (tzn. podzielona na 2 cyfry szesnastkowe i odwrócona)

Możesz to osiągnąć w następujący sposób:

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

Edytuj te ponownie sformatowane klucze we wpisie Klucz odpowiednich plików informacyjnych. Najprawdopodobniej sudobędzie to wymagane.

  1. Uruchom ponownie usługę Bluetooth:
uruchomienie usługi sudo bluetooth
  1. Teraz włącz urządzenia Bluetooth. Powinny one zostać rozpoznane, a pary aktywne / ważne w MacOS i Ubuntu.

Aktualizacja: Wydaje się, że sparowania utrzymały się dzięki aktualizacjom zarówno w systemie MacOS, jak i Ubuntu. Używam teraz odpowiednio 10.13.6 i 18.04 i nie musiałem jeszcze powtarzać tej procedury.

Cyfrowa trauma
źródło
1
Nie mogę skomentować odpowiedzi Digital Trauma, dlatego wspomnę tutaj, że format klucza bluetooth w MacOs został ostatnio zmieniony, a przywrócenie nie jest już potrzebne. Tak więc, podczas kopiowania kluczowego formularza MacO na Linux (krok 12) wystarczy przekształcić litery na wielkie.
Nizar
@Nizar dzięki za informacje. Gdy tylko będę miał okazję to wypróbować, zaktualizuję.
Cyfrowy uraz