如何在终端中配对需要输入密码的蓝牙键盘?


20

我有一个想与Ubuntu Touch Aquaris E4.5配对的Bluetooth ThinkPad 2 Tablet键盘。由于GUI的限制,我想尝试在终端中执行此操作。我希望该过程与Ubuntu桌面上的过程相似。

在Ubuntu Desktop 15.10上,配对键盘时,GUI对话框中会显示以下消息:

Please enter the following PIN on "ThinkPad keyboard" and press "Enter" on the keyboard:
<6-digit number>

在蓝牙键盘上输入6位PIN码,然后按可以Enter完成键盘的配对,并且可以正常工作。当我尝试在Ubuntu Touch上配对键盘时,没有显示GUI对话框,显示要在Bluetooth键盘上输入的代码。因此,我想尝试在终端中配对键盘。

我尝试了以下方法:

phablet@ubuntu-phablet:~$ hcitool scan
Scanning ...
        AB:CD:EF:GH:IJ:KL       ThinkPad Keyboard
phablet@ubuntu-phablet:~$ bluez-simple-agent AB:CD:EF:GH:IJ:KL
RequestPinCode (/org/bluez/863/hci0/dev_AB_CD_EF_GH_IJ_KL)
Enter PIN Code: 0000
Release
Creating device failed: org.bluez.Error.ConnectionAttemptFailed: Page Timeout
phablet@ubuntu-phablet:~$

接下来我可以尝试什么?

Answers:


26

您可以尝试从命令行运行bluetoothctl,确保您的设备已打开/已准备好被发现:

$ bluetoothctl
[NEW] Controller AA:BB:CC:DD:EE:FF device-name [default]

其他任何蓝牙设备都将在此处列出。然后,您将进入[bluetooth]提示。

首先,打开蓝牙电源(如果您的设备已关闭):

[bluetooth]# power on
Changing power on succeeded

然后,确保您的代理商已注册:

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

现在,您可以从控制台扫描设备:

[bluetooth]# scan on
Discovery started
[CHG] Controller AA:BB:CC:DD:EE:FF Discovering: yes
[NEW] Device FF:EE:DD:CC:BB:AA Someone's Keyboard

您也可以从此处手动配对:

[bluetooth]# pair FF:EE:DD:CC:BB:AA 
Attempting to pair with FF:EE:DD:CC:BB:AA 
[CHG] Device C8:E0:EB:04:52:55 Connected: yes

此时,系统会提示您输入用于配对的个人识别码:

Request PIN code
[agent] Enter PIN code: 12345

输入一个数字(例如12345),系统将提示您从设备输入相同的数字:

[Someone's Keyboard]# 12345

然后应通知您键盘已配对:

[CHG] Device FF:EE:DD:CC:BB:AA Paired: yes

希望这对您有用,在我找到对的任何参考之前,尝试解决了一段时间bluetoothctl


编辑:Ubuntu Touch OTA9发行版包含Bluez 5,可与ThinkPad键盘配对。这是几乎充当掌上电脑的BQ Aquaris E4.5。


好吧,愚蠢的问题:我该如何安装bluetoothctl?我试过了sudo add-apt-repository ppa:vidplace7/bluez5; sudo apt-get update; sudo apt-get install bluez bluez-tools
d3pd 2015年

...¯_(ツ)_ //-它已经在我的机器上,查看我的Bluez软件包,我仅有的其他软件包是bluez-obexdlibbluetooth3,但我猜它们是随附的bluez(我正在运行5.35 fwiw)。
1nfiniti

感谢您的协助。我不知道如何在Ubuntu Touch中安装BlueZ 5(并尝试将其安装成砖块/重新刷新该设备),因此我将询问一个单独的问题。
d3pd

1
再次提醒您,Ubuntu Touch OTA9发行版包含Bluez 5,它可以与ThinkPad蓝牙键盘配对,因此解决方案的基本思想是正确的。再次感谢您的帮助。
d3pd

我一直在使用bluetoothctl将Microsoft通用可折叠键盘连接到我的Aquaris M10平板电脑,并成功地做到了这一点。唯一的问题是,当键盘断开连接时,Ubuntu Touch无法识别,并且拒绝我提供OSK,直到我重新启动。有没有一种方法可以通过bluectlctl命令分离键盘,而无需再次进行配对过程?在这里查看我的启动板错误报告:bugs.launchpad.net/ubuntu/+source/ubuntu-system-settings/+bug/…–
tomoqv

8

在Ubuntu 16.04 amd64上按照1nfiniti的步骤进行操作,它与Logitech MX5000键盘和鼠标组合非常有效。但是当我重新启动计算机时,键盘没有再次键入。在“蓝牙设置”中显示为已连接但未配对。但是,鼠标工作正常。

查看bluetoothctl参考(https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl)意识到,在“ pair”命令之后使用了“ trust”命令,以允许某些设备成功地重新连接。

因此,我启动了蓝牙ctl,断开并取消了键盘的配对,再次将其连接并配对,然后发出

[bluetooth]# trust [keyboard MAC Address]

然后,我被告知您的键盘已被信任

Trusted

这样就成功了,现在每次启动/重启计算机时,键盘都可以完美连接。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.