Технология 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 адаптер, но даже в таком случае проблем в программном плане возникнуть не должно.
Да что там Bluetooth! Я решил поэкспериментировать, на Hyper-V поднял виртуальную машину. Вначале Linux Mint установил, потом попробовал Ubuntu. Вторую неделю ни там ни там не могу интернет настроить проводной. И чего вы так пищите от этого Линукса? Заморочек еще больше, чем в Виндовс.
Я вас умоляю, есть ведь тот же blueman-project.org/, который:
Blueman is a GTK+ Bluetooth Manager
и умеет:
* Connecting to 3G/EDGE/GPRS via dial-up
* Connecting to/Creating bluetooth networks
* Connecting to input devices
* Connecting to audio devices
* Sending/Receiving/Browsing files via OBEX
* Pairing
Рекомендую, кто не в курсах.
а если на команду в ответ прилетает вот такое что делать?
sudo hciconfig hci0 up
Can’t init device hci0: Operation not supported (95)
Попробуйте вот это
apt-get install bluetooth bluez-utils sysv-rc-conf
sysv-rc-conf bluetooth on
/etc/init.d/bluetooth restart
А потом снова запустите поиск устройства.
Не помогло. Есть ещё варианты
В ubuntu blueman тонкая настройка приема файлов есть? или придётся их через консоль переносить?
При использовании менеджера Blueman вы можете управлять любым подключенным устройством через графический интерфейс. Чтобы просмотреть его содержимое, откройте список, кликните правой кнопкой по подключенному девайсу и выберите «Просмотреть устройство».
Устройство подключается как обычный внешний том. Для него доступны все стандартные операции: копирование, перенос, удаление файлов. Это значит, что вы можете подключить через Bluetooth смартфон и работать с ним так же, как будто он подсоединен через кабель USB.
Я совсем новичок в Линуксе и мало вообще чего понимаю. У меня странная проблема. Совсем недавно установил ради эксперимента Mint 20 в качестве второй операционной системы. Она крутая, мне все нравится. Практически все работает отлично кроме звука в блютуз колонках. При первом подключении у меня высветилась ошибка. Я ее не запомнил. Что то со словами Blue и bus. А потом началась чехарда. То колонки подключаются к ноутбуку и работают без проблем. То не работают вовсе. Вожусь уже дня два с этим. Так и не нашел решения. Может тут кто-то мне поможет? Или дело в колонках и мне стоило
Сомневаюсь, что дело в колонках. Тут скорее надо копать в сторону настроек системы. Думаю, что-то не доделано. Попробуй следующее: сначала удали модуль blueberry с помощью команды apt purge blueberry (ее надо в терминал ввести, естественно). А следом за ней надо ввести apt Install pulseaudio-module-bluetooh и pactl load-module module-bluetooth-discover после этого протестировать подключение снова. По идее, все должно работать.
Когда ввожу команду выдает ошибку do not permission. Дальше этого ничего не идет. Так происходит с любой командой, которую я ввожу практически. Что я не так делаю. Может, что-то не так с системой?
А, ну надо получить права суперпользователя и попытаться снова. Для этого перед каждой командой, что я перечислял выше надо ввести слово sudo. После этого система попросит ввести пароль администратора. Это тот пароль, что вы вводите когда только запускаете компьютер и входите в систему. В терминале при вводе его будет не видно. Надо будет дописать его вслепую. Это ради безопасности сделано.
Ну, с проводным интернетом я как-то разобрался. А вот с блютуз затык полный. Даже не буду в подробности погружаться, все перепробовал. Ни смартфон, ни другие устройства не коннектятся. ОС та же Ubuntu (думаю, версии занчения не имеют?).
А как я могу добавить bluetooth гарнитуру? Можно ли там использовать специальные команды и есть ли для этого графическая оболочка?
Сопряжение с телефоном прошло успешно, но вот музыкальный приемник компьютер вообще не видит, и при этом выдает ошибку. Подскажите пожалуйста, в чем может быть проблема?
Знает ли кто-нибудь, в линкусе можно настроить автоматическое подключение к музыкальной колонке по блютузу сразу при включении компьютера?
Ничего в консоли вбивать не надо. После добавления девайса в графическом приложении для настройки синезуба, каждый раз при включении девайса оно будет подхватываться автоматом.
Для Ubuntu есть KDE 3. Достаточно просто тыкнуть по иконке блютуза в трее, чтобы запустить файловый манагер с автомонтированием фс телефона. И начать работать, как с ftp. И не нужно тысячи команд в терминале прописывать.
Команда rfcomm не работает, пишет что ее не существует. Подскажите, как еще можно провести сопряжение с устройством?
В статье же ясно описано, что rfcomm команда использовалась только в старых версиях системы линукс. А сейчас она типа недоступна, ее заменили такой же штукой с графическим интерфейсом. Где-то там в настройках она есть, пошарь сам или дочитай нормально уже эту статью, в ней все понятно и русским языком описано.
Наконец-то что-то полезное для Линукс написали. А то все Виндовс, да Виндовс. Я как раз ОС Ubuntu поднял на виртуалке в новом компьютере. Вот начинаю осваивать. Думаю, в скором времени и до Bluetooth доберусь.
Не уверен, что в Ubuntu, поднятой на ВМ, будет все так просто с подключением через «синий зуб». Но, дерзай. Линукс в принципе все может. Кстати, когда получится, поделись с народом. Как сделал, какие командочки, к чему коннектился (смартфон, модель и все такое). Многие спасибо скажут.
Терпеть не могу эту технологию подключения по bluetooth! Очень глючная, вечно отваливается и тупит. Два смартфона huawei и samsung никак не могу друг с другом законнектить. Либо wifi, либо старая добрая и надежная витая пара. Тогда и в Линукс не будет такой возни со всеми этими мутными настройками. А тем, кто пробует, дерзайте, удачи!
Ну хорошо, со смартами более-менее понятно. А как подключить БТ-гарнитуру? И есть ли возможность использования графической оболочки для выполнена команд? Как в «окнах», нажал на кнопочку, и сразу видишь все устройства.
Это Линукс, батенька. Либо учись командочками пользоваться, в терминале работать, либо возвращайся обратно в винду. А вообще: bluetoothctl; connect. Чтобы посмотреть, видно ли вообще устройство: hcitool scan. Привыкай.
Здрасьте. Подскажите как настроить Bluetooth в Debian? Заранее спасибо.
Для начала вам необходимо установить модуль для работы с Bluetooth. Делается это так:
#apt-get install bluetooth.
Затем задаете PIN-код для компьютера:
#echo «0000» >> /etc/bluetooth/pin (0000 — стандартный PIN-код, используемый практически всеми устройствами по умолчанию, можно свой задать).
После этого необходимо запустить сервис:
#/etc/init.d/bluetooth start.
Теперь можете попытаться найти доступные Bluetooth-устройства:
$hcitool scan.
Если необходимо проверить параметры bluetooth, то используйте следующую команду:
#hciconfig -a.
В принципе все. Далее сами для себя решаете, будете ли работать с bluetooth из консоли или с помощью какой-либо оболочки.
Да, еще чуть не забыл:
# — команда выполняется из под root
$ — команда может выполняться из под user.
Удачи!
Может со смартфоном легко сопрягается, а вот с блютуз-приемником музыкальным не захотело, выдает ошибку в логах: root@sale03:/home/waleri# rfcomm connect hci0 41:42:39:87:0F:BA 2; Can’t connect RFCOMM socket: Connection refused. Кто знает, как решить задачку, дайте конкретный совет, плиз.
Прикольно. У меня Виндовс 10 и Ubuntu на ВМ. Недавно подключил беспроводные наушники через адаптер. В винде постоянно фонят, никак не могу убрать через стандартные настройки. А в Ubuntu разобрался с подключением Bluetooth и все норм, никаких посторонних шумов. Да здравствует Линукс!
Я конечно против Линукса ничего не имею сам только им пользуюсь. Но меня всегда умиляют возвышенные возгласы тех, кто хочет перевести на него всех домохозяек и менеджеров поголовно. Дерзайте. Только объясняйте им потом, почему «воткнул и работает» — это не про юникс вэй. Хотя сейчас виндовс-подражатели, типа Ubuntu\Fedora, позволяют настроить всё даже быстрее, чем в винде, да еще без использования терминала.
Провозился очень долго с Bluetooth-модулем в Arch Linux. Пожалуй, это был из ключевых камней приткновения. Я уже подумывал забить на Линукс, потому что невозможно было жить без Bluetooth-аксессуаров. Хотелось все-таки полноценную систему. Ну, инструкции из статьи недостаточно, конечно. Пришлось еще пошаманить, но так как это Arch, могу понять, почему это не описано. Хочу лишь отметить, что многие проблемы с Bluetooth решает установка дополнительных пакетов. Например bluez-hid2hci мне помог наконец запустить модуль целиком и заставить его видеть сторонние устройства. До этого он был запущен, но ни к чему не подключался.
Я как-то застрял с Bluetooth в Linux Mint. Дело было в оболочке. В нее закрался баг какой-то и огромное количество пользователей не знали, что делать, чтобы избавиться от проблемы с подключением. Даже включенный Bluetooth отмечался как выключенный и соответственно не работал. Решается установкой модуля bluedevil вместо стандартного в оболочке Linux Mint. А еще файлом obexftp. Но я как и многие проблему решил прям совсем радикально. Я перешел на KDE. Самая стабильная оболочка с минимальным количество сбоев. Так что советую всем, кто переходит на Linux.