红联Linux门户
Linux帮助

Ubuntu和Windows双系统蓝牙设备共享配对

发布时间:2016-06-22 15:33:46来源:blog.csdn.net/pipisorry作者:皮皮

蓝牙设备如键盘、鼠标都可以。

装的双系统win7和Ubuntu,如果只使用一个系统,蓝牙鼠标配对一次后可以正常使用,但如果下次进的另一个系统必须要重新配对才能使用。

所以这篇文章就是解决这个问题的,同一台电脑在双系统间切换时不用重新设置蓝牙鼠标。


安装蓝牙模块

{电脑自带蓝牙的略过}

lz的电脑没有自带蓝牙,所以买了一个蓝牙适配器,这样电脑就有蓝牙功能了。

linux下好像插入蓝牙适配器,就会自动安装需要的驱动了。

windows下插入蓝牙适配器后,同样也会自动安装下面这些。

Ubuntu和Windows双系统蓝牙设备共享配对

安装完成可以在设备中看到蓝牙模块

Ubuntu和Windows双系统蓝牙设备共享配对

安装完还可以在系统通知区域看到蓝牙标志。
如果不小心删除可以这样找回:Control Panel\Hardware and Sound\Devices and Printers\Bluetooth V2.0 Dongle,右键》bluetooth settings》show the bluetooth icon in the system notification area.


首先在linux下配对蓝牙设备
ubuntu无线鼠标设置

用hcitool搜索:hcitool scan
把蓝牙鼠标设置为待连接状态,一直按住connect,搜索到以后记录蓝牙物理地址00:1F:20:****

bluez-simple-agent hci0 00:1F:20:****    #此时要一直按住connect

如果出错:root@pika:/home/pika# bluez-simple-agent hci0 00:1F:20:EA:3A:E3
Creating device failed: org.bluez.Error.NotReady: Resource Not Ready说明鼠标连接有问题,没按住connect或者按住无效

如果某些键盘或者鼠标提示需要输入密码( 配对密码一般为0000)

Ubuntu和Windows双系统蓝牙设备共享配对

使设备变为受信任设备:bluez-test-device trusted 00:1F:20:**** yes
连接设备,几秒后即可使用设备:bluez-test-input connect 00:1F:20:****
完成以后重启,设备将会自动连接电脑。

Ubuntu和Windows双系统蓝牙设备共享配对

就算显示蓝牙是关闭的,ubuntu可见性关闭,只要连接是开启的并且已配对就可以了。

这样就可以在ubuntu中使用蓝牙鼠标了!

Note:lz测试了一下,好像只要不是同一台电脑的双系统中重新配对,而是在其它电脑再配对一次,回来时,只要点击ubuntu上面的蓝牙》bluetooth mouse ***》on就可以使用了,不用重新配置。但是如果要在双系统中使用要如下配置。
让ubuntu自动连接蓝牙鼠标:http://www.linuxdiyf.com/linux/16094.html


在windows下配对蓝牙设备

添加蓝牙设备

右键系统通知区域的蓝牙标志,点击添加设备》在搜索到的设备中选择添加相应的蓝牙鼠标。(好像直接在Control Panel\Hardware and Sound\Devices and Printers\中添加蓝牙鼠标成功后,就自动没了,所以还是在蓝牙中添加吧)

Note: lz之前添加设备时总是搜索不到蓝牙鼠标,重装驱动也没用,后来发现原来是蓝牙服务没打开:开始>管理工具>服务>bluetooth support service>改成auto启动,并点击启动。再搜索就可以看到蓝牙设备了。

Ubuntu和Windows双系统蓝牙设备共享配对

添加完后,会安装bluetooth peripheral device, HID什么的占用很久时间。

Ubuntu和Windows双系统蓝牙设备共享配对

添加成功后会在设备中看到蓝牙鼠标

Ubuntu和Windows双系统蓝牙设备共享配对

右键蓝牙鼠标Bluetooth Mouse M558》bluetooth》connection应该是Authenticated,last connected应该是当前正连接。

Ubuntu和Windows双系统蓝牙设备共享配对

配对成功后,上述ubuntu的配对则会失效。因为配对的key信息已经修改。我们要做的是取出当前蓝牙键盘与windows配对使用的key,将其复制到Ubuntu下的linkkeys文件即可。

下载PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
解压找到PsExec.exe. 右键点击,修改属性>兼容性>勾选“以管理员身份运行此程序”
运行cmd,切换到PsExec.exe所在的目录cd /d D:\Downloads\Sys\PSTools

执行如下命令打开注册表编辑器:PsExec.exe -s -i regedit.exe
找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\aa1111111111\00:1F:20:***中的数据项(如f33a8cadac63b019e8533590b2821357),记录下来。(自己敲键盘记住吧,无法直接复制)

要注意的是,如果之前配置过,重新配置后,再次打开regedit可能新值没有写入,要重启windows才能看到新值,所以为了配置成功,值没修改的话就重启再记录regedit的值吧。

Note:

1 使用PsExec工具运行注册表管理器,是因为不使用的话无法看到蓝牙配对的key信息(即使是管理员权限打开的注册表)
2 Windows的注册表(Registry)实质上是一个庞大的数据库,它存储这下面这些内容:软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联, 硬件的描述、状态和属性;计算机性能纪录和底层的系统状态信息,以及各类其他数据。


将windows下配对key复制到Ubuntu配对文件

重启进入Ubuntu
将在windows中记录的key信息,找到文件/var/lib/bluetooth/***/linkkeys的对应00:1F:20:***的配对信息,替换掉。

pika:~$cd /var/lib/bluetooth
pika:/var/lib/bluetooth$ls
00:1B:10:00:44:B5
pika:/var/lib/bluetooth$cd 00\:1B\:10\:00\:44\:B5/
pika:/var/lib/bluetooth/00:1B:10:00:44:B5$ls
classes  config  did  eir  lastseen  lastused  linkkeys  names  profiles  sdp  trusts
pika:/var/lib/bluetooth/00:1B:10:00:44:B5$sudo vi linkkeys

修改其中的key为windows下的keys。
重启ubuntu(必须重启,否则使用的还是原来的key信息)。

这样配置后,同一个蓝牙鼠标就可以在双系统中使用而不必每次切换时重新配置了。lz测试了一个下午终于搞定,差点没把电脑搞崩。


本文永久更新地址:http://www.linuxdiyf.com/linux/21748.html