linux命令行连接蓝牙键盘

2023-05-16

在KDE的图形界面连接蓝牙设备非常的方便,图形化点点就行了。

图形化连接

基础

#安装 
sudo pacman -S bluez bluez-utils
#开机启动
sudo systemctl enable bluetooth.service
#立即开启
sudo systemctl start bluetooth.service

蓝牙图形化管理工具安装

sudo pacman -S bluedevil

安装了以上内容后,在KDE的图形界面就可以连接蓝牙设备了。非常方便。

命令行连接

既然图形化的连接已经非常的方便了,那么为什么还在搞命令行的连接呢?我有苦衷啊,我用的i3wm直接调用KDE的设置中的蓝牙连接,怎么也连接不上。那也只能从命令行连接了。
参考wiki:https://wiki.archlinux.org/title/Bluetooth_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

加载btusb内核模块

通用蓝牙驱动是 btusb 内核模块。检查 模块是否加载了。如果没有就先加载模块。
我这边是要手动加载的

modprobe btusb

每次开机要手动加载,太麻烦了。设置自动加载方法:

cd /etc/modules-load.d
nvim btusb.conf

文件内容如下:

btusb

自动加载内核模块参考:
https://wiki.archlinux.org/title/Kernel_module_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29#%E4%BD%BF%E7%94%A8systemd%E8%87%AA%E5%8A%A8%E5%8A%A0%E8%BD%BD%E6%A8%A1%E5%9D%97

bluetoothctl

因为上面图形化的连接方便,已经安装了一些包,所以我可以直接 使用以下命令了。如果你的电脑中没有以下命令请安装一下上面的一些包试试。

下面内容是直接复制wiki上的内容的。

运行 bluetoothctl 交互命令。输入 help 来获取帮助。

  1. (可选操作) 选择一个默认的蓝牙接收器select MAC_address.
  2. 使用命令 power on 打开蓝牙,蓝牙默认是关闭的,并且重启之后默认也会关闭,参照 #开机后自动启动.
  3. 使用命令 agent on (推荐)选择要连接的设备类型或者去选择一个特定的类型: 如果你在 agent 命令后按下两次tab键, 你应该看到一些可以使用的类型列表,比如 DisplayOnly KeyboardDisplay NoInputNoOutput DisplayYesNo KeyboardOnly off on.
  4. 使用命令 default-agent 去确认并完成要连接的设备类型
  5. 使用命令 devices 去获得想要去配对的设备MAC地址
  6. 如果设备没有出现在上一步的列表中,使用命令 scan on 去搜索发现所有可配对的设备
  7. 使用命令 pair MAC_address 去配对设备(tab键可以自动补全MAC地址)
  8. 如果配对设备不需要配对码(PIN), 那么你可能需要手动将给设备添加到信任列表,使用命令 trust MAC_address
  9. 使用命令 connect MAC_address 去确认最后的连接
    以下为一个交互实例:
# bluetoothctl 
[NEW] Controller 00:10:20:30:40:50 pi [default]
[bluetooth]# agent KeyboardOnly 
Agent registered
[bluetooth]# default-agent 
Default agent request successful
[bluetooth]# power on
Changing power on succeeded
[CHG] Controller 00:10:20:30:40:50 Powered: yes
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:10:20:30:40:50 Discovering: yes
[NEW] Device 00:12:34:56:78:90 myLino
[CHG] Device 00:12:34:56:78:90 LegacyPairing: yes
[bluetooth]# pair 00:12:34:56:78:90
Attempting to pair with 00:12:34:56:78:90
[CHG] Device 00:12:34:56:78:90 Connected: yes
[CHG] Device 00:12:34:56:78:90 Connected: no
[CHG] Device 00:12:34:56:78:90 Connected: yes
Request PIN code
[agent] Enter PIN code: 1234
[CHG] Device 00:12:34:56:78:90 Paired: yes
Pairing successful
[CHG] Device 00:12:34:56:78:90 Connected: no
[bluetooth]# connect 00:12:34:56:78:90
Attempting to connect to 00:12:34:56:78:90
[CHG] Device 00:12:34:56:78:90 Connected: yes
Connection successful

我根据这个操作实例成功的连接了我的蓝牙设备了。有了 这个命令连接蓝牙键盘的经历,以为就算在命令行中,我也会连接蓝牙了。

以下是我实现录入命令,把关键的命令和结果显示出来,方便命令的复制

#进入蓝牙设备交互程序
bluetoothctl
#选择要连接的设备类型
agent KeyboardOnly
default-agent
#打开蓝牙,蓝牙默认是关闭的,并且重启之后默认也会关闭
power on
#扫描可以连接的蓝牙设备
scan on
#[CHG] Controller 8C:B8:7E:E7:2C:27 Discovering: yes
#[NEW] Device F4:73:35:40:04:F4 Keyboard K380
#连接上面搜到的蓝牙键盘的MAC地址,会有个提示输入PassKey按蓝牙键盘的相应按钮
pair F4:73:35:40:04:F4
#[agent] Passkey: 258038
#[CHG] Device F4:73:35:40:04:F4 Paired: yes
#Pairing successful
#配对成功以后,需要进行connect 连接后才可以正常连接蓝牙设备
connect F4:73:35:40:04:F4
#[CHG] Device F4:73:35:40:04:F4 Connected: yes
#Connection successful

信任设备

以上操作完成以后,发现每次蓝牙断开重新连接,就会有一个提示信息。如果不确认设备就无法正常连接。这对于蓝牙键盘很不方便。询问信息如下:

[CHG] Device F4:73:35:40:04:F4 Connected: yes
Authorize service
[agent] Authorize service 00001124-0000-1000-8000-00805f9b34fb (yes/no): yes

后来根据测试,是因为设备没有被信任导致的。
trust 设备MAC地址

trust F4:73:35:40:04:F4

查询设备信息

info F4:73:35:40:04:F4

设置开机后自动启动

蓝牙在重启后默认不会自动启动。你只需要将 AutoEnable=true 添加在 /etc/bluetooth/main.conf 底部的 [Policy] 下面:

nvim /etc/bluetooth/main.conf

内容如下:

[Policy]
AutoEnable=true

删除重新连接

因为我是windows和Linux双系统,平时大多时间在linux中使用蓝牙键盘。但是偶尔在windows连接过蓝牙键盘后,就会发现回到linux时,蓝牙键盘已经无法连接了。

我的目前解决办法比较愚笨一些。就是把设备删除了重新连接。至少能解决问题,更好的解决办法以后有空在尝试吧。

#删除已经配对的蓝牙设备
remove F4:73:35:40:04:F4
#重新配对方法与之前一致,我也写一下方便我以后直接复制。
pair F4:73:35:40:04:F4
connect F4:73:35:40:04:F4
trust F4:73:35:40:04:F4

以上删除重新连接,有时会遇到怎么也配对不上的问题。这样的问题,我的解决办法:

  1. 尝试关闭键盘,重新开启键盘。
  2. 尝试切换其他的连接端(比较我的K380可以同时连接3个设备,切成别的试试)

经过折腾彻底解决了,蓝牙键盘多系统中切换的问题。
《windows11 + linux 蓝牙连接问题》 https://blog.csdn.net/lxyoucan/article/details/125594711

总结

完成以上操作,终于可以开机自动启动并自动连接蓝牙键盘啦。这下方便了不少。

这么折腾的主要原因是我这台笔记本电脑自带的键盘目前没找到驱动的方法。每次只能先用鼠标点软键盘onboard然后连接蓝牙键盘。

一劳永逸,舒服。

参考

https://wiki.archlinux.org/title/Bluetooth_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
https://wiki.gentoo.org/wiki/Bluetooth

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux命令行连接蓝牙键盘 的相关文章

  • IDEA若依框架新建模块

    创建新的module 项目上鼠标右键 选择Maven项目 Parent选ruoyi 点击Finish 编辑RuoYi Vue Wisdom ruoyi wisdom pom xml 在 lt artifactId gt ruoyi wisd
  • SpringBoot拦截指定路径统一处理

    最近在做一个有趣的项目 xff0c 做一个API生成小工具 可以对简单的API路径进行配置SQL自动生成API 简单来讲 xff1a URI对应sql api userselect from user api user addresssel
  • vim代码注释生成插件neogen

    更好的注释生成器 支持多种语言和注释约定 项目地址 xff1a https github com danymat neogen 注意事项 nvim版本以大于等于NVIM v0 6 1不然会有报错 插件安装 插件的运行需要依赖nvim tre
  • SpringBoot中封装jdbc工具类

    背景 现在的数据层的开发 xff0c 大多会使用如MyBatis或JPA之类的开发工具 这些开发工具给我们的开发过程中带来了极大的便利 但是在一些极端的场景下往往原生的jdbc方式操作数据库更灵活 xff0c 性能更高 由于部分场景下MyB
  • 若依设置匿名访问路径

    背景 在实际开发的过程中 xff0c 会有一些开放的API是可以游客访问的 xff0c 无需登录的 那么在若依这套框架中如何设置呢 xff1f 配置 文件路径如下 xff1a span class token class name RuoY
  • 初探OGNL表达式

    简介 对象导航图语言 xff08 Object Graph Navigation Language xff09 xff0c 简称OGNL xff0c 是应用于Java中的一个开源的表达式语言 xff08 Expression Languag
  • mvn命令启动Spring boot项目

    Spring boot项目在IDEA中启动非常的方便 xff0c 点击绿色三角按钮就可以启动了 最近有用vim开发Spring boot的小伙伴问我 xff0c 能不能在命令中手动启动Spring boot项目呢 xff1f 当时是可以的
  • Netty核心源码分析(五)核心组件EventLoop源码分析

    文章目录 系列文章目录一 EventLoop源码分析1 NioEventLoop源码2 EventLoop的父接口SingleThreadEventExecutor xff08 1 xff09 addTask方法 xff08 2 xff09
  • python3对接微信小程序蓝牙

    39 39 39 Created on 2019年10月15日 64 author lg 39 39 39 from Crypto Cipher import AES from binascii import b2a hex a2b hex
  • ubuntu13.10 设置以root用户自动登陆

    ubuntu13 10 默认只有普通用户和Guest用户可登陆图形界面 xff0c 要切换root账号登陆 xff0c 需要做些修改 xff0c 步骤如下 xff1a 以普通用户登陆后 xff0c 先给root用户设置一个密码 xff1a
  • 仿mybatis的SQL解析器实现思路

    带表达式的SQL配置如下 xff1a span class token keyword select span span class token operator span span class token keyword from spa
  • 华硕无双+2022款笔记本重装系统笔记

    背景 公司采购了一台2022款的华硕无双 xff0c 拿来以后准备重新安装一下操作系统 拿来了U盘启动盘 xff0c 整了半天硬是没有启动成功 默认自带的系统的Windows11 家庭版 xff0c 不太适合用作开发使用 关机是默认就一个分
  • windows11安装jdk8

    最近换了Windows11做开发使用 xff0c 配一下开发环境 xff0c 简单记录下 给需要的人 安装jdk8 虽然jdk8已经很多年了 xff0c 不得不说目前还是主流版本 下载地址 xff1a https www oracle co
  • windows 11安装GIT

    简介 git xff08 t 3 xff0c 关于这个音频文件 音频 帮助 信息 xff0c 吉特 xff09 是一个分布式版本控制软件 xff0c 最初由林纳斯 托瓦兹创作 xff0c 于2005年以GPL许可协议发布 最初目的是为了更好
  • windows11安装MAVEN

    下载 https maven apache org download cgi JDK安装 maven会依赖到JDK xff0c 所以要先安装 JDK1 7以上的版本 过程可以参考 xff1a https blog csdn net lxyo
  • VMWare Workstation 使用UEFI启动

    创建新的虚拟机编辑虚拟机所在目录 VMX 增加一行 span class token assign left variable firmware span span class token operator 61 span span cla
  • vmware archlinux vmware tools替代者Open-VM-Tools

    本文中安装的是Open VM Tools xff0c 安装起来比较方便 VMware Tools 与 Open VM Tools 方案对比 2007 年 xff0c VMware 将 VMware Tools 中的大部分代码以 LGPL 协
  • Windows Terminal多行粘贴警告

    Windows Terminal每次粘贴命令的时候都有警告 xff0c 虽然本质上是为了安全 对于我一这种一天粘贴10遍以上的用户来说 xff0c 每次都提示太麻烦了 那么还是把它关掉吧 关掉警告信息 multiLinePasteWarni
  • archlinux 安装chrome浏览器

    chromium虽然也可以用 xff0c 但是无法同步数据 xff0c 不方便 那么怎么可以安装chrome并且可以同步数据的那种呢 xff1f 开启 32 位支持库与 ArchLinuxCN 支持库 span class token fu
  • Windows11自带Windows Terminal图形化设置

    之前在Windows10中自己安装的Windows Terminal是有图形化设置界面 xff0c 用起来相对比较方便 自从升级到Windows11 已经自带Windows Terminal了 但是我发现自带的Windows Termina

随机推荐

  • 怎么成为一名架构师?架构师第一步。基层开发人员逆袭成为架构师真的很难吗?

    文章目录 写在前面一 企业需要什么样的架构师1 从招聘软件上了解2 架构师的主要职责与能力 二 成为一名架构师很难吗1 架构师的定义2 当前大部分开发团队的现状3 为什么要有架构师4 技术人员如何自我突破 三 晨钟暮鼓的几句话 写在前面 一
  • MVN打包报错:在类路径或引导类路径中找不到程序包 java.lang

    现象 同一个Springboot项目在windows下mvn打包正常 xff0c 在linux下打包就失败了 打包命令如下 xff1a mvn clean package Dmaven test skip span class token
  • archlinux按键交换

    原本以为需要安装第三方软件 才能实现 xff0c 发现KDE中自带这个功能的设置 直接使用就好 左Ctrl与左Win交换 默认带了很多方案 xff0c 正好就有能满足我的需要的
  • archlinux i3平铺桌面学习笔记

    安装 pacman S i3 选择全部安装 按键配置 我的想法是全默认 xff0c 习惯一下默认的按键风格 修改默认terminal bindsym span class token variable mod span 43 Return
  • PostMan测试若依修改接口

    说来惭愧 xff0c 我使用postman调试修改接口时 xff0c 竟然耗了半小时才搞定 决定文档记录一下 Headers 设置 Authorization Bearer eyJhbGciOiJIUzUxMiJ9 eyJsb2dpbl91
  • Windows 禁用WIn+L锁定系统快捷键

    因为我在windows中使用虚拟机中的Linux做主力开发机用 有时会用到win 43 l这个按键 会导致Windows直接锁屏了 所以我想把这个功能禁用掉 方法 按 Win 43 R 打开运行对话框输入 regedit 然后按回车 xff
  • archlinux按键映射按键自定义

    安装xorg span class token function sudo span pacman S xorg 直接选择全部安装 xmodmap span class token comment 显示按键信息 span xmodmap p
  • IntelliJ IDEA包自动导入设置

    IDEA的默认设置是 xff0c 当需要导包的时候会有个提示 xff0c 这时按Alt xff0b Enter可以手动导入包 这些年一直这么用 xff0c 也习惯了 但是用了一些其他的IDE开发工具边写代码边自动导入 xff0c 用了以后挺
  • kitty终端使用笔记

    简介 kitty是一个免费的开源 图形处理单元 GPU 加速 2 3 终端仿真器 xff0c 适用于Linux和macOS xff0c 专注于性能和功能 kitty 是用C和Python编程语言混合编写的 xff0c 它是少数支持 GPU
  • i3status配置笔记

    默认配置 最近一直在忙于写代码 xff0c i3status安装以后就没有做过任何配置 显示了一些我并不关心的内容 帮助文档 https i3wm org docs i3status html 创建配置文件 mkdir span class
  • Mybatis (ParameterType) 如何传递多个不同类型的参数

    在一些场景下 xff0c 传参是需要多个参数的 一个参数不太够用 xff0c 如 xff1a parameterType 61 34 ImGroup 34 最开始的想法是封装一个专用用来当参数的对象 xff0c 把多个对象包装到一起 xff
  • UML类图使用介绍

    文章目录 一 UML图1 什么是UML图2 类图概述3 类图的作用 二 类的表示方式举个栗子 三 类与类之间关系的表示方式1 关联关系 xff08 1 xff09 单向关联 xff08 2 xff09 双向关联 xff08 3 xff09
  • 没有U盘纯硬盘安装linux之Archlinux

    安装系统用U盘是很方便的 xff0c 无奈我的U盘莫名奇妙的坏了 因为疫情影响 xff0c 买个U盘要挺久时间才能到达 所以我就想能不能使用硬盘来安装linux系统呢 试试吧 xff01 一方面可以省下一个U盘的钱 xff0c 另一方面 x
  • 【Java】微信聊天记录特定词过滤

    微信聊天记录特定词过滤 通常微信聊天记录中包含文本 图片 语音 视频等 xff0c 这些数据显然需要用一个统一的数据结构存储和读取数据 然后把聊天记录中文本数据扣出 寻找是否含指定词 本题选做 Message类 xff0c 描述一条聊天数据
  • linux远程windows桌面

    remmina Remmina 是用 GTK 编写的远程桌面客户端 xff0c 来自 FreeRDP 项目 它支持以下协议 xff1a SSH VNC RDP NX XDMCP 图形化的操作界面用起来很简单方便 安装 span class
  • i3wm nm-applet每次开机都要输入wifi密码的解决办法

    在KDE中使用 xff0c 每次开机不需要输入wifi密码就可以直接上网了 为了提供开发效率 我尝试使用i3wm做为开发环境 但是每次开机都要输入wifi密码很不方便 解决办法 查了一下wiki 好像是因为没有安装GNOME Keyring
  • MySQL limit分页

    之前写了篇 SpringBoot中封装jdbc工具类 xff0c 最近在使用的过程中发现没有分页功能 所以就打算在封装一下分页算法 相关文章 xff1a https blog csdn net lxyoucan article detail
  • i3wm中Chrome不保存密码

    最近切到i3wm中发现一个问题 xff0c 在这个环境下使用Chrome密码不会被保存 xff0c 也无法使用密码自动填充 使用起来非常的不方便 然而在KDE中使用chrome一切正常 xff0c 一切到i3wm就无法使用了 而且所有网站都
  • linux 开机自动登录i3wm

    最近在我的物理机上打算使用archlinux当主力机 但是因为我这台笔记本电脑最近刚发布的 xff0c 安装archlinux无法正确识别笔记本电脑自带的键盘 只能外接usb键盘 xff0c 或者使用蓝牙键盘了 因为我的usb键盘过于厚重
  • linux命令行连接蓝牙键盘

    在KDE的图形界面连接蓝牙设备非常的方便 xff0c 图形化点点就行了 图形化连接 基础 span class token comment 安装 span span class token function sudo span pacman