Linux 是 CLI 驅動的操作系統。因此,能夠通過終端完成各種任務,對於終端死忠粉來說是非常重要的。在本模塊中,您將學習如何從終端執行一項簡單任務:連接到藍牙設備。

什麼是 BlueZ?

在開始之前,我們需要安裝 Linux 的官方藍牙堆棧 BlueZ。

BlueZ 提供核心藍牙層和協議支持。它靈活、高效,並使用模塊化實現。它有許多有趣的功能。

  • 全模塊實現
  • 對稱多處理安全
  • 多線程數據處理
  • 支持各種藍牙設備
  • 真正的硬件抽象
  • 所有層的標準套接字接口
  • 設備和服務級別安全支持

因此,如果您打算使用藍牙,這是一項強制性要求。

安裝 Bluez

在 Debian/Ubuntu 上,您可以使用 apt 命令。

$ sudo apt -y install bluetooth bluez bluez-tools rfkill

在基於 Arch 的發行版上,您可以使用 pacman 命令:

$ sudo pacman -S bluez bluez-utils util-linux

在 Fedora/CentOS 上,您可以使用 dnf 命令。

$ sudo dnf -y install bluez bluez-tools

將用戶添加到所需的組

在繼續之前,用戶應確保: lp 團體。您可以查看當前用戶所屬的組。

$ id
uid=1000(user) gid=1000(user) groups=1000(user),998(wheel)

輸入 usermod 命令將當前用戶添加到 lp 組。

$ sudo usermod -aG lp $USER
$ newgrp lp

如果我現在檢查,我可以看到它已被添加 lp 團體!

$ id
uid=1000(user) gid=991(lp) groups=991(lp),998(wheel),1000(user)

現在您終於可以繼續連接藍牙了。

開啟藍牙服務

要在啟動時啟用藍牙服務,請使用以下命令啟用它:

$ sudo systemctl enable --now bluetooth.service

要檢查服務是否已成功激活,請輸入:

$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-04-30 09:11:50 IST; 2h 0min ago
       Docs: man:bluetoothd(8)
   Main PID: 443 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 4587)
     Memory: 2.9M
     CGroup: /system.slice/bluetooth.service
             └─443 /usr/lib/bluetooth/bluetoothd

這就是藍牙服務的啟動和運行方式。然後確保它被阻止。

$ rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 wlan      phy0   unblocked unblocked
 2 bluetooth hci0   blocked   unblocked

如果它被阻止,請使用以下命令解除阻止:

$ rfkill unblock bluetooth

最後,確保它已解鎖。

$ rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 wlan      phy0   unblocked unblocked
 2 bluetooth hci0   unblocked unblocked

您現在已準備好進行下一步。

連接到藍牙設備

要連接到設備,請使用名為 bluetoothctl 這使您可以發現設備、配對設備等等! bluetoothctl 輸入如下。

$ bluetoothctl

這為您提供交互式提示,允許您執行各種任務。

藍牙控制

開啟控制器電源

要打開藍牙控制器,請在交互式提示符下鍵入:

[bluetooth]# power on

掃描附近的設備

在連接之前,您應該使用以下命令掃描附近的設備:

[bluetooth]# scan on

這將為您提供附近所有藍牙設備及其 Mac ID 的列表。

掃描裝置

現在連接到您的藍牙耳機。

配對您的設備

要配對目標設備,請鍵入:

[bluetooth]# pair [ID]
與我們的設備配對與我們的設備配對

配對成功後,進行下一步。

相信我們的設備 [Optional]

您還可以通過以下方式信任設備:

[bluetooth]# trust [ID]
受信任的設備受信任的設備

連接您的設備

最後,將您的設備連接到:

[bluetooth]# connect [ID]

請注意,這可能會失敗。您可以繼續重試,直到成功連接到設備。

連接到我們的設備連接到我們的設備

您現在已通過終端成功連接到您的設備!

結論是

所以通過 CLI 連接到藍牙設備。這整個過程可以通過編寫合適的腳本來自動化。您也可以通過這種方式連接無線耳機或其他藍牙設備。