Гид по технологиям

Управление Bluetooth в Linux через bluetoothctl

5 min read Linux Обновлено 11 Dec 2025
Управление Bluetooth в Linux через bluetoothctl
Управление Bluetooth в Linux через bluetoothctl

iMac, подключённый к нескольким Bluetooth-устройствам

Bluetooth — один из самых удобных способов беспроводного подключения периферии и гаджетов к компьютеру. Поскольку количество беспроводных устройств растёт, умение управлять Bluetooth становится важным навыком.

bluetoothctl — интерактивная и простая в использовании утилита для управления Bluetooth на Linux. Это основная консольная программа для настройки адаптера, спаривания и подключения устройств. Ниже — практическое руководство по настройке и работе с Bluetooth через bluetoothctl.

Проверка статуса Bluetooth

Перед подключением убедитесь, что служба Bluetooth запущена. Проверить это можно через systemctl:

sudo systemctl status bluetooth

Статус службы Bluetooth, вывод systemctl

Если служба неактивна, включите её и запустите, чтобы Bluetooth запускался автоматически при загрузке:

sudo systemctl enable bluetooth
sudo systemctl start bluetooth

Если на ПК нет встроенного Bluetooth, добавьте внешний USB-адаптер совместимого типа.

Поиск близлежащих устройств

Чтобы начать активный поиск устройств поблизости, используйте команду scan:

bluetoothctl scan on

Команда выводит обнаруженные устройства. Каждое устройство подписано как Device с MAC-адресом — уникальным идентификатором в формате XX:XX:XX:XX:XX:XX — и читаемым именем устройства.

Вывод команды со списком Bluetooth-устройств

Важно: если вы не видите нужное устройство, убедитесь, что оно включено, находится в режиме обнаружения и находится в зоне досягаемости.

Чтобы сделать собственный адаптер видимым для других устройств:

bluetoothctl discoverable on

Спаривание и подключение

После того как вы увидели устройство в списке, подключение обычно проходит в два шага: спаривание (pair) и соединение (connect).

bluetoothctl pair FC:69:47:7C:9D:A3

Замените MAC-адрес на адрес вашего устройства. На смартфоне или другом графическом устройстве появится запрос на подтверждение; на ПК может потребоваться ввести «yes» в консоли.

После успешного спаривания в будущем вы можете просто подключаться командой:

bluetoothctl connect FC:69:47:7C:9D:A3

Просмотр пар и устройств в зоне

Просмотреть устройства, которые уже спарены с системой:

bluetoothctl paired-devices

Просмотреть все обнаруженные в данный момент устройства:

bluetoothctl devices

Вывод со списком спаренных устройств

Доверие, отключение и удаление устройств

Чтобы пометить устройство как доверенное (чтобы оно могло автоматически подключаться), используйте:

bluetoothctl trust FC:69:47:7C:9D:A3

Чтобы отменить доверие:

bluetoothctl untrust FC:69:47:7C:9D:A3

Отключение и удаление:

bluetoothctl disconnect FC:69:47:7C:9D:A3
bluetoothctl remove FC:69:47:7C:9D:A3

Если нужно запретить устройству подключаться, используйте блокировку:

bluetoothctl block FC:69:47:7C:9D:A3
bluetoothctl unblock FC:69:47:7C:9D:A3

Интерактивный режим

bluetoothctl удобнее использовать в интерактивном режиме. Запустите программу без аргументов:

bluetoothctl

После этого команды вводятся короче — без префикса bluetoothctl.

Интерактивный режим bluetoothctl, пример консоли

Для выхода введите:

exit

Быстрый набор команд (справочная таблица)

  • status — статус адаптера
  • show — свойства адаптера
  • scan on / scan off — включить/выключить сканирование
  • pair — спарить устройство
  • connect — подключиться
  • disconnect — отключиться
  • remove — удалить пару
  • trust / untrust — доверять/не доверять
  • block / unblock — заблокировать/разблокировать

Когда подключение не удаётся — распространённые причины и решения

  1. Адаптер выключен или заблокирован rfkill. Проверьте:
rfkill list

Если адаптер заблокирован программно или аппаратно, разблокируйте командой:

sudo rfkill unblock bluetooth
  1. Устройство вне зоны или в спящем режиме — поднесите ближе и включите режим обнаружения.
  2. Несовместимый профиль (например, попытка подключить HID-клавиатуру как A2DP-аудио). Проверьте, поддерживает ли устройство нужный профиль.
  3. Конфликт с менеджером Bluetooth окружения рабочего стола (например, BlueZ + блочные GUI). Временно остановите GUI-менеджер, если он мешает, или используйте интерактивный режим.
  4. Старые драйверы или прошивка адаптера. Обновите ядро, пакет bluez и прошивку адаптера.

Альтернативы и дополнения

  • Графические утилиты: GNOME Bluetooth, Blueman — удобны для новичков.
  • NetworkManager/bluez интеграция: некоторые окружения управляют Bluetooth через свои плагины.
  • Для автоматизации: используйте bluetoothctl в скриптах или dbus-интерфейс BlueZ.

Мини-методология: стандартный рабочий сценарий

  1. Проверить статус службы: sudo systemctl status bluetooth
  2. Убедиться, что адаптер не заблокирован: rfkill list
  3. Войти в bluetoothctl
  4. scan on — дождаться появления устройства
  5. pair — подтвердить на устройстве
  6. trust (по необходимости)
  7. connect
  8. Проверить звук/ввод/функции (в зависимости от типа устройства)

Чек-листы по ролям

Администратор:

  • Проверил и запустил службу Bluetooth
  • Обновил пакеты bluez и прошивку
  • Настроил разрешения и правила доступа
  • Внёс MAC-адреса корпоративных устройств в список доверенных

Обычный пользователь:

  • Перевёл устройство в режим обнаружения
  • Использовал bluetoothctl для спаривания и подключения
  • Убедился в работоспособности (звук, клавиатура, мышь)

Разработчик / DevOps:

  • Автоматизировал подключение через скрипт или systemd unit
  • Контролирует логирование и перезапуск службы при сбоях

Безопасность и приватность

  • Держите адаптер невидимым (discoverable off) когда он не нужен.
  • Удаляйте пары для устройств, которыми вы больше не пользуетесь.
  • Не доверяйте незнакомым устройствам.
  • Обновляйте прошивку адаптера и пакеты BlueZ.

Важно: публичные места (кафе, аэропорты) повышают риск атак типа «bluejacking» и «bluesnarfing». Отключайте Bluetooth, если не используете.

Критерии приёмки

  • Устройство появляется в выводе scan on
  • Спаривание проходит без ошибок и отображается в paired-devices
  • Устройства подключаются (connect) и работают по назначению
  • Нет конфликтов с rfkill или менеджером окружения

Краткая сводка команд (cheat sheet)

# Статус
sudo systemctl status bluetooth
# Запуск
sudo systemctl enable bluetooth
sudo systemctl start bluetooth
# Сканирование
bluetoothctl scan on
# Спаривание и подключение
bluetoothctl pair 
bluetoothctl connect 
# Управление
bluetoothctl trust 
bluetoothctl remove 

1‑строчный глоссарий

MAC — уникальный адрес устройства; A2DP — профиль для стереозвука; HID — профиль для клавиатур/мышей.

Итог

bluetoothctl даёт полный контроль над Bluetooth на Linux. Он подходит и для одиночных пользователей, и для администраторов, которым нужна автоматизация. Следуйте простому рабочему сценарию: проверка службы, сканирование, спаривание, доверие и подключение. Обязательно соблюдайте простые правила безопасности — выключайте видимость и удаляйте неиспользуемые пары.

Примечание: всегда проверяйте совместимость профилей устройств и обновляйте системные пакеты для стабильной работы.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Запланировать встречу в Google Meet
Продуктивность

Запланировать встречу в Google Meet

Сброс виртуальной памяти в Windows 11 — шаги и советы
Windows 11

Сброс виртуальной памяти в Windows 11 — шаги и советы

Отключение Phone Link в Windows 11
Windows 11

Отключение Phone Link в Windows 11

Убрать невидимую рамку на рабочем столе Windows
Windows

Убрать невидимую рамку на рабочем столе Windows

PiedPíPer — PiP для Netflix и YouTube в Safari
How-to

PiedPíPer — PiP для Netflix и YouTube в Safari

Hakchi на SNES Mini — N64, NES, PS1
Ретро консоли

Hakchi на SNES Mini — N64, NES, PS1