ฉันจะใช้แป้นพิมพ์และเมาส์ Bluetooth เดียวกันกับทั้ง macOS และ Ubuntu ได้อย่างไร


8

ฉันมี iMac ที่มีทั้ง macOS และ Ubuntu บนนั้น ฉันต้องการใช้เมาส์และคีย์บอร์ดบลูทู ธ กับระบบปฏิบัติการทั้งสองโดยไม่ต้องจับคู่ใหม่ทุกครั้งที่ฉันสลับระบบปฏิบัติการ

มีใครมีปัญหานี้และหาวิธีแก้ปัญหาหรือไม่


คุณติดตั้งดูอัลบูท (Mac OSX กับ Ubuntu 18.04 ได้อย่างไร) - ติดตั้ง Ubuntu ไว้ที่ภายนอก usb-harddisk และด้วงทำงานบน usb-harddisk หรือไม่ - หรือมันแตกต่างกันที่เว็บไซต์ของคุณ?
dschinn1001

นี่ไม่ใช่เพื่อความปลอดภัยหรือไม่บลูทู ธ นั้นถูกปิดใช้งานเมื่อคุณออกจากระบบปฏิบัติการ - ในกรณีที่คอมพิวเตอร์จะสแตนด์บายหลังจากออกจากระบบ ... และในกรณีที่เปิดใช้งานบลูทู ธ ก็จะมีความปลอดภัยน้อยลง ...
dschinn1001

คำตอบ:


11

คำตอบสำหรับคำถามนี้ให้แนวคิดทั่วไปแก่คุณแม้ว่าจะคลุมเครือเล็กน้อยในด้าน macOS ดังนั้นฉันจะอธิบายขั้นตอนที่ฉันใช้

เวอร์ชั่นของระบบปฏิบัติการดังต่อไปนี้ ชื่อไฟล์และที่ตั้งอาจมีการเปลี่ยนแปลงตามเวอร์ชันดังนั้นนี่คือสิ่งที่ใช้ได้กับฉัน

  • MacOS High Sierra 10.13.1
  • Ubuntu 17.04

ฉันสมมติว่าคุณมีระบบไฟล์ (ปุ่ม USB หรืออะไรก็ตาม) อย่างน้อยอ่านเขียนใน MacOS และอ่านได้ใน Ubuntu

แนวคิดทั่วไปคือเมื่อคุณจับคู่อุปกรณ์กับระบบปฏิบัติการจะมีการสร้างลิงก์คีย์เฉพาะซึ่งจำเป็นสำหรับการตรวจสอบสิทธิ์ในครั้งถัดไปที่การจับคู่ใช้งานอยู่ คุณสามารถถ่ายโอนลิงค์คีย์เหล่านี้จากการจับคู่ MacOS ไปยังการจับคู่ Ubuntu เพื่อให้การจับคู่ทำงานในทั้งสองระบบปฏิบัติการ

  1. Boot 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-d2คือที่อยู่ MAC ของอะแดปเตอร์บลูทู ธ ในระบบของฉัน

ต่อไปนี้เป็นที่อยู่ 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 อย่าเปิดอุปกรณ์บลูทู ธ ของคุณ หวังว่าคุณจะมีแป้นพิมพ์และเมาส์แบบใช้สายที่จะใช้ ณ จุดนี้
  3. เปิดหน้าต่างเทอร์มินัล
  4. หยุดบริการบลูทู ธ :
บลูทู ธ หยุดบริการ sudo
  1. /var/lib/bluetoothดูในไดเรกทอรี คุณควรจะเห็นรายการไดเรกทอรีย่อยสำหรับอะแดปเตอร์บลูทู ธ ที่อยู่ MAC, 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 / ข้อมูล
sudo gedit / var / lib / bluetooth / A0: 99: 9B: 16: 43: D2 / 04: 0C: CE: 3D: 15: 4D / ข้อมูล
  1. ในไฟล์เหล่านี้คุณจะพบ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จะต้อง

  1. เริ่มบริการบลูทู ธ ใหม่:
บลูทู ธ บริการ sudo เริ่มต้น
  1. ตอนนี้เปิดอุปกรณ์บลูทู ธ ของคุณ พวกเขาควรได้รับการยอมรับและการจับคู่ที่ใช้งาน / ถูกต้องทั้งใน MacOS และ Ubuntu

อัปเดต: การจับคู่ดูเหมือนจะยังคงมีอยู่ผ่านการอัพเกรดทั้ง MacOS และ Ubuntu ตอนนี้ฉันทำงาน 10.13.6 และ 18.04 ตามลำดับและยังไม่ต้องทำขั้นตอนนี้ซ้ำ


1
ฉันไม่สามารถแสดงความคิดเห็นกับคำตอบของ Digital Trauma ได้ดังนั้นฉันจะพูดถึงที่นี่ว่ารูปแบบแป้นบลูทู ธ ใน MacOs ได้รับการแก้ไขเมื่อเร็ว ๆ นี้และการพลิกกลับก็ไม่จำเป็นอีกต่อไป ดังนั้นเมื่อคัดลอกรูปแบบคีย์ MacOs ไปยัง Linux (ขั้นตอนที่ 12) หนึ่งต้องการเพียงแปลงตัวอักษรเป็นตัวพิมพ์ใหญ่
Nizar

@Nizar ขอบคุณสำหรับข้อมูล เมื่อฉันมีโอกาสลองใช้ฉันจะอัปเดต
Digital Trauma
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.