Технология Bluetooth сейчас получила широкое распространение. В основном, ее используют для подключения к смартфону каких-либо гаджетов – например, наушников или смарт-часов. Но в Linux есть и дополнительные возможности, которые реализовываются с ее помощью. Пользователь может подключить тот же смартфон к компьютеру, передавать и принимать файлы, производить подключение к сети Интернет. А вот о том, как все это настроить в репозитории Ubuntu 19.04, я сегодня и расскажу.
- Первичная настройка
- Сканирование устройств Bluetooth
- Сопряжение устройств
- Отправка и прием файлов
- Подключение к Интернету по Bluetooth
Первичная настройка
В первую очередь надо позаботиться о наличии специального адаптера Bluetooth – в большинстве современных ноутбуков он встроен, а вот для стационарных ПК придется приобретать отдельный USB модуль. Еще требуется наличие специальных прошивок и утилит в системе Linux. Вообще, если зайти в раздел «Настройки» Ubuntu 19.04, можно увидеть соответствующий раздел Bluetooth.
Как можно видеть на скрине, пока я не подключу адаптер, включить данную функцию мне не удастся.
Если в настройках системы такого пункта нет, необходимо установить специальную утилиту. Для этого я открываю командную строку «Терминал» и даю следующий запрос на установку утилиты Blueman:
sudo apt-get install blueman
Если не сработает (а она сработает), можно дать вот такую команду на установку соответствующего программного обеспечения:
sudo apt-get install bluetooth bluez bluez-tools
После завершения процесса установки следует перезагрузить операционную систему. Если адаптер был подключен, при загрузке в области уведомлений должен отобразиться значок менеджера Bluetooth.
Сканирование устройств Bluetooth
Перед тем как начать сканирование, нужно проверить, правильно ли подключен адаптер и не блокируется ли он с помощью утилиты rfkill. Чтобы активировать ее, я ввожу в командной строке «Терминал» следующий запрос:
sudo rfkill list
Если в отчете будет отображено, что адаптер не работает из-за аппаратной или программной блокировки, можно будет провести разблокировку, введя вот такую команду:
sudo rfkill unblock bluetooth
После этого обязательно включаю адаптер вот таким запросом:
sudo hciconfig hci0 up
И как только данная процедура будет завершена, можно приступать к сканированию. Перед этим проверю, включен ли Bluetooth модуль на другом устройстве и не находится ли он в скрытом режиме.
sudo hcitool scan
После завершения сканирования отобразится имя устройства и его MAC адрес. А чтобы узнать более подробную информацию о нем, использую утилиту sdptool:
sdptool browse [тутдолженбытьMACадрес]
А вот с помощью утилиты ping можно проверить доступность удаленного устройства. Выглядеть команда при этом будет примерно вот так:
sudo l2ping [тутдолженбытьMACадрес]
Если действовать через настройки, тут все будет намного проще. Нужно просто запустить поиск, и в результате отобразится список доступных устройств.
Сопряжение устройств
На старых версиях операционной системы Ubuntu сопряжение с устройствами по Bluetooth производилось с помощью специальной утилиты RFCOMM. В моем случае она не была обнаружена, поэтому просто привожу пример, так как у некоторых пользователей она может сработать. Синтаксис команды в данном случае будет выглядеть вот так:
sudo rfcomm connect [устройствоадаптера] [MACадрес] [канал]
После этого на устройстве, с которым производится подключение, высветится окно с запросом на соединение. На обоих устройствах в этот момент необходимо ввести одинаковый код.
В случае с настройками все куда проще – надо просто найти нужное устройство по имени, подключиться в нему и ввести тот же код. Практически, все то же самое, но в графическом виде.
Отправка и прием файлов
Отправить файл на удаленное подключенное устройство можно с помощью протокола OBEX и использования опции -p. При этом запрос в командной строке в подобном случае будет выглядеть следующим образом:
sudo bt-obex -p [MACадресустройства] /путькфайлу/файл.формат
После нажатия на кнопку Enter выбранный файл с компьютера будет отправлен. А вот чтобы получить файл, нужно применить уже другую опцию -s.
bt-obex -s /путьдлясохраненияфайла/раздел/папка
Чтобы посмотреть файлы, которые есть в памяти подключенного устройства, нужно использовать следующий синтаксис:
sudo bt-obex -f [MACадрес]
Подключение к Интернету по Bluetooth
Да, по беспроводной сети Bluetooth можно подключиться к сети Интернет, и соединение такого типа называется Dial-up. Ранее данная технология была очень распространена, но сейчас ее редко кто использует из-за наличия Wi-Fi. Чтобы подключиться к сети мобильного устройства, можно использовать два протокола – старый DUN и современный BNEP, схожий по принципу действия с локальной сетью.
Сначала еще надо определить, поддерживает ли устройство работу по этим протоколам. Проверяю первый – для этого использую утилиту rfcomm и канал 15.
sudo rfcomm bind [MACадрес] 15
Если все же поддерживается, на экране появится устройство rfcomm0. Дальше для соединения можно использовать NetworkManager.
Все процессы обрабатываются через bluez и тот самый менеджер подключений. Просто добавляю новый тип соединения в программе, выбираю соответствующую сеть, просматриваю информацию о ней и начинаю использование.
Заключение
В Ubuntu подключение к стороннему устройству по Bluetooth можно настроить как с помощью командной строки «Терминал», так и через раздел «Настройки». Если это ноутбук, то приобретать дополнительный адаптер не придется – достаточно будет просто активировать функцию, найти нужное устройство и подсоединиться к нему. В ином случае нужно будет приобретать отдельный USB адаптер, но даже в таком случае проблем в программном плане возникнуть не должно.