我正在双启动 Ubuntu 和 Windows 8。我有一个 Microsoft 蓝牙鼠标。它在两个操作系统上都能正常工作,但每次切换操作系统时我都必须配对。
有没有什么方法可以使用蓝牙鼠标而不需要每次都进行配对?
答案1
这个答案适用于 bluetoothd v5.35 - 我认为它也适用于 bluetoothd v5 的早期版本。
- 与 Linux 中的设备配对
- 重启
- 在 Windows 中与设备配对
- 按照 thezeroth 的描述提取链接密钥
- 关闭蓝牙设备并重新启动进入 Linux
确保在启动 Linux 时已关闭设备。
否则,它会反复尝试使用旧的(现在无效的)链接密钥连接设备。这可能会触发反暴力破解措施,导致设备无法连接。
转到以设备地址命名的子文件夹。您应该在那里找到一个名为“info”的文件。打开它。
sudo nano /var/lib/bluetooth/XX:XX:XX:XX:XX:XX/YY:YY:YY:YY:YY:YY/info
在[LinkKey]
部分中设置密钥。例如:
Key=3E717C5B8735C1984B71636D7B941DEE
现在检查[General]
部分并设置
Trusted=false
保存并重启 bluetoothd:
sudo service bluetooth restart
当您打开设备时,会出现一个弹出窗口,询问您是否要授权连接的蓝牙设备。当然要!
如果您从 Mac OS 中提取了链接密钥,则需要反转密钥的字节顺序。Mac OS 以反向字节顺序保存它。
答案2
您应该将 Windows 和 ubuntu 配置为在使用鼠标连接时使用相同的密钥(密码)。
将它与你的 ubuntu 配对,然后重新启动到 Windows,将它配对并获取用于连接鼠标的密钥 Windows,请参阅此处的我的回答以了解如何操作:
然后重新启动到 ubuntu 打开终端:
sudo -i
cd /var/lib/bluetooth/
ls
记下你的蓝牙适配器 MAC 地址
cd [put adaptor mac address here]
nano linkkeys
将鼠标 MAC 地址前面的键更改为 Windows 正在使用的键
按 Ctrl+X 和 y 以及 Enter 保存然后重新启动。现在您的鼠标应该可以在两个操作系统上工作。
答案3
到现在为止,您可能已经找到解决方案了。不过,以下这些应该会有所帮助:
嗨,我通过复制蓝牙链接密钥使它与我的设备一起工作。以下是我所做的:
找到 PC/加密狗的蓝牙地址(假设AA:11:11:11:11:11
)。找到键盘的蓝牙地址(假设BB:22:22:22:22:22
)。在 Linux 下正常配对设备(通过 Gnome 面板)。
应该有一个名为的文件/var/lib/bluetooth/AA:11:11:11:11:11/linkkeys
,其中包含如下一行:
BB:22:22:22:22:22 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 0 6
这里,xxxx 是连续以十六进制书写的 16 个字节,即链接密钥。
在 Windows 下正常配对设备(这将更改密钥)。从 Windows 获取密钥。在我的情况下,它位于此注册表项中:
SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\aa1111111111\bb2222222222
不幸的是,当我进入 Keys 时,RegEdit 会显示“访问被拒绝”,即使以管理员身份登录也是如此。(我猜在某些情况下它可能在另一个 ControlSet 中。)
在 Linux 下重新启动,安装chntpw
。Lucid v0.99.5 附带的版本似乎不支持 64 位注册表。Debian repo 中的最新版本(撰写本文时为 v0.99.6-2)对我有用。
为了避免从 Linux 对 Windows 注册表进行不必要的修改,我将文件复制到SYSTEM
其他地方,从:/path/to/Windows/System32/config/SYSTEM
然后我用它打开它(用/chntpw
浏览注册表;帮助?):ls
cd
chntpw -e SYSTEM
ls
cd ControlSet002\services\BTHPORT\Parameters\Keys
ls
cd aa1111111111
ls
hex bb2222222222
这会产生类似这样的结果:
:00000 xx xx xx xx xx xx xx
这里,xx xx xx
是另外 16 个字节,十六进制,表示在 Windows 中设置的链接密钥。
最后,我复制了它(并删除了空格)以替换 中已有的值/var/lib/bluetooth/AA:11:11:11:11:11/linkkeys
。
我不得不断开连接并重新连接(通过 Gnome 小程序),但有时我不得不这样做。(在登录之前似乎也不起作用,但同样,即使在 Linux 下配对也会出现这种情况。这可能是另一个问题。)
它对我来说有效。对于不习惯编辑配置文件的人来说,它可能有点复杂。我认为在注册表文件的副本上工作也更安全SYSTEM
,以防万一出现问题。
答案4
带 Windows 10 和 K/Ubuntu 17.10 双启动的蓝牙鼠标 - HP Z5000 蓝牙鼠标
关于这个主题有很多建议,大多数都是旧的,而且很难理解。这是让同一个蓝牙鼠标在 Windows 10 和 Kubuntu 17.10 上工作的替代方法。这相当简单。这应该适用于其他 Debian 系统,也许也适用于其他蓝牙设备。
第一步:
1/. Windows 中的第一对。将蓝牙密钥的副本保存到 USB 记忆棒,然后打印出来。这有助于确定用于更改 Windows LinkKey 的计算机和设备地址。使用 regedit(在结果中单击鼠标左键以启用管理员权限)转到 - HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\keys\computer MAC\device MAC。
2/. 重新启动到 Linux,然后在 Linux 中配对。
3/. 使用 su 通过终端打开 Nautilus 以获得完全 root 权限:
4/. 使用 Nautilus 通过文件系统 ROOT - var – lib - bluetooth 导航到蓝牙
5/. 从蓝牙打开12位数字(机器MAC地址)打开设备MAC地址
6/. 打开设备MAC
7/. 打开信息文件夹
8/. 打开信息 – 显示 Linux LinkKey 数据 - 可以保存副本或打印屏幕/文件,也可以打印副本以供稍后使用。它使输入 Linux LinkKey 变得更加容易。
窗户 10:
在启动 Windows 之前关闭鼠标,并且不要重新连接。手指/触摸板将是唯一的继续方式。
1/. 使用普通用户密码登录
2/. 搜索 regedit
3/. 在结果中单击左键以启用管理员权限。
4/. 转到 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\keys\computer MAC\device MAC
Linux 和 Windows 中的计算机和设备地址至少会相似甚至相同。这可以从打印的副本(如果有)中检查出来。5/。要访问 Keys 文件,需要提升权限(请参阅https://www.howtogeek.com/262464/how-to-gain-full-permissions-to-edit-protected-registry-keys/)。
6/. 点击按键,然后点击设备 Mac
这将打开一个二进制值编辑器:
1/.输入使用 Nautilus 获取的 32 对 Linux 密钥。
2/. 原始 LinkKey 将显示为两行 8 对数字。将有三行可见。
3/. 将光标置于第一行开头并输入 Linux LinkKey。光标将自动移动到下一对。
4/. 输入将以大写形式显示,但完成后将自动转换为小写。在此过程中,Windows 会将关键字符转换为十六进制值,这将显示在新 LinkKey 的右侧。
5/. 当新密钥输入完成后,将光标放在原密钥的开头,删除原来的两行。这样将留下原来的三行。
6/. 关闭编辑器,如果重新打开,将保存更改,键将以小写字母和 Windows 格式显示(以逗号而不是冒号分隔)
7/.折叠HKEY-L_M并退出Windows注册表编辑器。
最后:
关闭 Windows 10 并重新启动 Windows,但不打开鼠标。完全启动后打开鼠标 - 它现在应该可以在 Kubuntu 17.10 和 Windows 10 中工作。