- Использование Bluetooth-наушников в Ubuntu
- Добавление поддержки bluetooth гарнитуры в Ubuntu 20.04
- Установка Pipewire в Ubuntu 20.04
- Ложка дёгтя
- Подключение Bluetooth-наушников и гарнитуры для прослушивания музыки в Ubuntu
- Чтобы подключить стерео Bluetooth-гарнитуру для прослушивания музыки в Ubuntu нужно:
- Настройка Bluetooth Ubuntu 16.04
- Первоначальная настройка
- Сканирование устройств Bluetooth
- Сопряжение устройств
- Отправка и прием файлов по OBEX
- Интернет через Bluetooth
- Выводы
Использование Bluetooth-наушников в Ubuntu
А проблема у меня такая. Вчера я стала счастливой обладательницей Bluetooth-гарнитуры Jabra BT620s. Имеется ноутбук HP Pavilion dv6147eu с Ubuntu 8.04 (Hardy Heron). В Ubuntu я новичок, поэтому прошу прощения, если спрашиваю о чём-то очевидном.
Требуется:
1. Настроить вывод любого звука ноутбука на гарнитуру. Очень бы хотелось иметь возможность быстрого (или хотя бы просто не очень трудоёмкого) переключения на обычный вывод на динамики.
2. (Если возможно) Настроить работу этой гарнитуры по USB, то есть возможность слушать музыку во время зарядки по USB-кабелю. (Такая функция заявлена и в Windows работает.)
Что уже имеется и сделано:
Есть стандартные драйверы для модуля Bluetooth. Удалось заставить гарнитуру работать в плеерах на основе GStreamer (с помощью этой инструкции) с переключением аудиовыхода в один клик.
Что не получается:
При прослушивании музыки (например last.fm) или просмотре видеороликов в браузере звук подаётся на динамики или подключенные обычные наушники.
Я искала какое-то подобие Bluetooth-менеджера, которым можно быстро подключить гарнитуру. (В Windows при подключении гарнитуры в Bluesoleil звук сразу же переключается на гарнитуру без каких-то дополнительных плясок. При использовании стандартных майкрософтских драйверов надо выбирать в проигрывателе аудиовыход или менять аудиовыход по умолчанию.) Пыталась найти что-то стандартное или дополнительное для управления звуком. Пока безуспешно, возможно из-за «виндового» мышления и недостаточных знаний для эффективного подбора ключевых слов.
Мне бы хотелось не только найти решение, но и узнать побольше о работе Ubuntu со звуком и Bluetooth. Буду благодарна, если подскажете полезные и доступные для понимания источники.
Разумеется, если что-то получится, статья с меня 🙂
Добавление поддержки bluetooth гарнитуры в Ubuntu 20.04
В попытке избавиться от проводов на рабочем столе, была приобретена bluetooth гарнитура JBL, для удобного проведения звонков через slack и zoom. Но с сожалением обнаружил, что Ubuntu не видит микрофон.
После недолгого гугления было найдено решение. Оказывается, что звуковой сервер PulseAudio, используемый в Ubuntu по умолчанию не поддерживает профили HSP (Handset Profile) /HFP (Hands-Free Profile). Чтобы всё работало, нужно заменить его на Pipewire.
Установка Pipewire в Ubuntu 20.04
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream sudo apt update sudo apt install pipewire sudo apt install libspa-0.2-bluetooth sudo apt install pipewire-audio-client-libraries
Перезагрузка сервисов bluetooth и mas pulseaudio
systemctl --user daemon-reload systemctl --user --now disable pulseaudio.service pulseaudio.socket systemctl --user mask pulseaudio systemctl --user --now enable pipewire-media-session.service
Рестарт pipewaire и перезагрузка системы
systemctl --user restart pipewire sudo reboot
Теперь активирован профиль HSP/HFP и микрофон появился:
Ложка дёгтя
Всё бы хорошо, но вы же не думали что всё так просто? Включение профиля HSP/HFP означает, что bluetooth гарнитура будет работать в режиме моно и выдавать на редкость паршивый звук при воспроизведении музыки. Поэтому, если вы хотите ещё и слушать музыку, то придётся переключаться между режимами работы bluetooth гарнитуры. У себя я установил blueman
sudo apt-get install blueman
Теперь для гарнируты можно переключаться между режимами:
Подключение Bluetooth-наушников и гарнитуры для прослушивания музыки в Ubuntu
Мечта, наверное, каждого пользователя компьютера — это свобода от проводов. Постепенно мы освобождаемся от них: покупаем ноутбук, покупаем беспроводные мышь и клавиатуру, покупаем bluetooth-наушники или стерео bluetooth-гарнитуру. В погоне за этой свободой мы готовы жертвовать производительностью компьютеров, зависимостью от подзарядки аккумуляторов и прочих появившихся новых проблем.
Чтобы подключить Bluetooth-наушники или стерео Bluetooth-гарнитуру в операционной системе Linux требуется установить ПО, которое позволит подключить Bluetooth-устройства к компьютеру. В Gnome реализована работа Bluetooth «из коробки», но нет поддержки A2DP, поэтому Bluetooth-наушники не будут работать по своему назначению. Добавить поддержку A2DP можно установив замечательную программу – Blueman. Эта программа отлично работает со всеми Bluetooth-устройствами, позволяя работать с A2DP-профилями.
Для корректной работы автоматического перенаправления звукового потока на подключенные Bluetooth-наушники нам понадобится дополнительный звуковой сервер. В качестве такого звукового сервера может выступать Pulseaudio. С помощью Pulseaudio можно добиться автоматического переключения вывода звука на Bluetooth-наушники, при подключении последних. Так же в нем можно настроить уровень громкости для разных приложений в отдельности.
В ОС Ubuntu Pulseaudio установлен в качестве звукового сервера по умолчанию. Если Pulseaudio был удален, как это описывалось в статье «Удаление звукового сервера PulseAudio в Ubuntu«, то его следует установить заново, так как без него перенаправление звука, при подключении стерео-гарнитуры, не будет происходить автоматически. Для работы Pulseaudio с Bluetooth-наушниками нам потребуется установить также дополнительный модуль – pulseaudio-module-bluetooth.
Чтобы подключить стерео Bluetooth-гарнитуру для прослушивания музыки в Ubuntu нужно:
- Установить звуковой сервер Pulseaudio с дополнительным модулем pulseaudio-module-bluetooth:
echo «deb http://ppa.launchpad.net/blueman/ubuntu `lsb_release -cs` main» | sudo tee /etc/apt/sources.list.d/blueman.list
В результате всех этих действий на подключенное Bluetooth-устройство будет выводиться звук. При каждом последующем подключении bluetooth-наушников или гарнитуры Pulseaudio автоматически переведет звуковой поток на это устройство, что позволит обеспечить комфортное прослушивание музыки через беспроводные наушники.
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Настройка Bluetooth Ubuntu 16.04
Устройства Bluetooth встречаются довольно часто в наше время. Это простой и дешевый способ добавить поддержку беспроводных технологий для смартфона или любого другого гаджета. Система Linux может использовать различные протоколы: OBEX, A2DP, DUN, HID и другие для взаимодействия с различными устройствами.
В этой статье мы рассмотрим как выполняется настройка Bluetooth Ubuntu 16.04. Рассмотрим как установить драйвера и настроить связь между двумя устройствами.
Первоначальная настройка
Большинство Bluetooth адаптеров выполнены в виде USB и могут быть настроены с помощью утилит HCL. Некоторые устройства, такие как Atheros, требуют для своей работы установленных прошивок в системе.
Для установки всех необходимых программ выполните такую команду:
sudo apt-get install bluetooth bluez bluez-tools rfkill rfcomm
Дальше установите прошивки для адаптеров Atheros, если это необходимо:
sudo apt-get install bluez-firmware firmware-atheros
Затем запустите службу управления Bluetooth:
sudo service bluetooth start
Сканирование устройств Bluetooth
Перед тем, как перейти к сканированию устройств нужно убедиться что ваш bluetooth адаптер подключен и не заблокирован с помощью rfkill:
Если устройство заблокировано, программной или аппаратной блокировкой, необходимо разблокировать его с помощью команды rfkill:
sudo rfkill unblock bluetooth
Включить адаптер можно с помощью команды hciconfig:
Дальше можно начать сканирование. Только перед этим убедитесь, что на другом устройстве Bluetooth включен и не находится в скрытом режиме. Для сканирования выполните:
После завершения вы увидите доступное устройство. Здесь будет отображаться его имя и MAC адрес.
Чтобы узнать более подробную информацию об устройстве, вы можете использовать утилиту sdptool:
sdptool browse D0:B3:3F:96:2A:30
Вы можете сразу отфильтровать какие возможности поддерживает обнаруженное устройство:
sdptool browse D0:B3:3F:96:2A:30 | grep ‘Service Name:’
Также вы можете использовать интерактивный инструмент bluetoothctl:
[bluetooth]# info D0:B3:3F:96:2A:30
Также вы можете проверить доступность удаленного устройства с помощью утилиты ping:
Сопряжение устройств
Для совместной работы устройств Bluetooth нужно настроить их сопряжение. Для этого используется команда RFCOMM. Эта команда требует полномочий суперпользователя. Синтаксис команды такой:
sudo rfcomm connect устройство_адаптера mac_адрес_цели канал
Например, подключимся к нашему устройству на втором канале:
sudo rfcomm connect hci0 D0:B3:3F:96:2A:30 2
Теперь на другом устройстве появиться запрос на соединение и вам нужно будет ввести одинаковый pin на обоих устройствах. После этого оно будет доступно через файл /dev/rfcomm0. Не закрывайте терминал, чтобы соединение оставалось активным. Вы можете посмотреть список подключений с помощью hcitool:
Отправка и прием файлов по OBEX
Дальше вы можете очень просто отправить файл на удаленное устройство с помощью протокола OBEX. Синтаксис:
sudo bt-obex -p MAC_адрес_устройства /путь/к/файлу
sudo bt-obex -p D0:B3:3F:96:2A:30 ~/img/some_pic.png
Чтобы получить файл вам нужно запустить сервис obex в режиме прослушивания с помощью опции -s:
bt-obex -s /path/to/output/folder
Здесь вам нужно указать путь к папке, куда нужно сохранить полученный файл. После выполнения этих настроек Bluetooth Ubuntu, вы можете передать любой файл с телефона. Вы также можете запустить FTP сеанс с устройством, для просмотра файлов, которые на нем есть:
sudo bt-obex -f MAC_адрес_устройства
Интернет через Bluetooth
Раньше использование Dial-up сети было очень популярным. Сейчас эта технология почти не используется. Но, возможно, понадобиться раздать интернет от вашего телефона на компьютер. Для этого можно использовать два протокола: DUN — более старый и BNEP, более похожий на работу локальной сети.
Чтобы определить поддерживает ли устройство работу по протоколу DUN нужно использовать правильный канал rfcomm. Нужно использовать канал 15:
sudo rfcomm bind D0:B3:3F:96:2A:30 15
Если протокол поддерживается, то у вас появиться устройство rfcomm0. Дальше вы можете использовать NetworkManager для подключения к сети.
Что касается BNEP, то здесь вам уже не нужно использовать rfcomm, все протоколы будут обрабатываться bluez. Все что нужно, это Bluez и NetworkManager. Добавьте новое соединение Bluetooth:
Дальше вы можете посмотреть информацию о подключении и использовать сеть:
Выводы
В этой статье мы рассмотрели как выполняется настройка Bluetooth Ubuntu 16.04. Все работает очень просто, и хотя в графическом интерфейсе может быть не совсем понятно как что настроить, то в терминале все точно и понятно. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.