更改蓝牙设备名称

nip*_*p3o 6 linux bluetooth

如何更改远程蓝牙设备的友好设备名称(使用 Linux 或类似工具中的命令行工具)?我看过一些软件中包含的bluez-toolshcitoolbt-device,但这些都没有的功能更改远程设备的名称。似乎也没有任何 HCI 命令可以执行此操作。

我知道可以在许多蓝牙管理器中更改设备的别名,但这不是一回事。别名仅在本地计算机上可见,而设备名称对所有新设备可见。

小智 11

使用 bt-device(包的一部分bluez-tools)。

获取已配对设备的列表:

bt-device -l
Run Code Online (Sandbox Code Playgroud)

要设置新别名:

bt-device --set macaddress|name Alias "New Name"
Run Code Online (Sandbox Code Playgroud)

IE:

bt-device --set S530 Alias "S530 Blue"
Run Code Online (Sandbox Code Playgroud)


小智 6

半年多后才答复,但迟到总比不到好。它可能会帮助其他人。

此答案基于此博客文章。它对我有用。在非常 Linux 风格的做事中,它基于编辑配置文件而不是使用工具。

您需要编辑两个文件:

  • 在 中/var/lib/bluetooth/[your MAC address]/config,编辑以 开头的行name

  • /etc/bluetooth/main.conf更改行以Name = %h-%d使其只读Name = %h,假设您想使用您的主机名作为您的蓝牙名称(%d为每个本地蓝牙适配器添加一个不同的索引,但您可能只有一个)。使用其他东西应该可以,但我自己还没有尝试过。

完成后,重新启动蓝牙服务:

$ sudo service bluetooth restart
Run Code Online (Sandbox Code Playgroud)


小智 5

在 Fedora 上,我使用命令bluetoothctl来更改这些设置。
这是由 package 提供的bluez,在我的例子中它已经安装了。

bluetoothctl有一个提示符,只需运行命令即可访问。
它的命令也可以在不访问提示符的情况下使用,但这样就没有自动完成功能。

外部设备(鼠标、键盘、游戏手柄等)和主机控制器(内置 BT 卡、外部 USB BT 适配器等)之间是有区别的。

可以bluetoothctl更改设备和控制器别名,该过程可以概括为 3 个步骤:

  • 列出可用的控制器/设备
  • 选择要修改的控制器/设备
  • 修改控制器/设备

命令是:

控制器

  • 运行bluetoothctl以访问其提示符
  • 运行list以列出可用的控制器
    • 就我而言,我只有 1 个控制器,即我笔记本电脑的 BT 卡
  • 运行select 00:11:22:33:44:55选择要修改的控制器
    • 地址可以自动填写TAB,在我的例子中是唯一 1 个可用地址
  • 运行system-alias "new alias for my BT controller"修改控制器别名

设备

  • 运行bluetoothctl以访问其提示符
  • 运行devices以列出可用设备
    • 可以使用可选属性来过滤输出,例如devices Connected
  • 运行connect AA:BB:CC:DD:EE:FF以选择要修改的设备
    • 地址可以自动完成TAB
  • 运行set-alias "new alias for my BT device"修改设备别名

help可用于获取可用命令的概述:

[bluetooth]# help
Menu main:
Available commands:
-------------------
...
list                                              List available controllers
...
select <ctrl>                                     Select default controller
devices [Paired/Bonded/Trusted/Connected]         List available devices, with an optional property as the filter
system-alias <name>                               Set controller alias
reset-alias                                       Reset controller alias
...
set-alias <alias>                                 Set device alias
...
connect <dev>                                     Connect device
...
Run Code Online (Sandbox Code Playgroud)