- Подключение Bluetooth-наушников и гарнитуры для прослушивания музыки в Ubuntu
- Чтобы подключить стерео Bluetooth-гарнитуру для прослушивания музыки в Ubuntu нужно:
- Как отправить звук через Bluetooth в Linux
- Предпосылки
- Соединять
- Взять под контроль
- Иди глубже
- Еще ничего?
- Добавление поддержки bluetooth гарнитуры в Ubuntu 20.04
- Установка Pipewire в Ubuntu 20.04
- Ложка дёгтя
Подключение 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 автоматически переведет звуковой поток на это устройство, что позволит обеспечить комфортное прослушивание музыки через беспроводные наушники.
Опытный системный администратор с большим стажем работы на крупном российском заводе. Иван является энтузиастом OpenSource и любителем Windows, проявляя высокую компетентность в обоих операционных системах. Благодаря его технической грамотности и умению решать сложные задачи, Иван стал неотъемлемой частью команды нашего проекта, обеспечивая непрерывную авторскую работу.
Как отправить звук через Bluetooth в Linux
Bluetooth-гарнитуры и динамики сейчас более популярны, чем когда-либо прежде, но заставить их работать под Linux не всегда ясно. Со всем, что происходит в мире звуковых систем Linux, легко заблудиться и даже сдаться. В большинстве случаев проблема с этими устройствами заключается в том, что ваша система их видит, но по какой-то причине не может установить соединение. Вот краткое и простое руководство о том, как решить эту проблему. Я протестировал следующее на Arch, но оно должно работать и на любом другом дистрибутиве.
Предпосылки
Для отправки звука через A2DP (Advanced Audio Distribution Profile) вам потребуется установить стек протоколов bluetooth «bluez» и еще три пакета, а именно «bluez-firmware», «bluez-utils» и блюз-инструменты. Вы можете установить их, открыв терминал и введя «sudo yaourt», а затем имя пакета, если вы используете Arch, или с помощью «sudo apt-get install», за которым следует имя пакета, если вы используете Ubuntu. Если вы предпочитаете утилиту packman, обратите внимание, что пакет bluez-tools можно найти в репозитории AUR. После того, как эти пакеты будут установлены в вашей системе, вы сможете найти Bluetooth-динамик/гарнитуру, но не сможете иметь возможность подключиться к нему.Вы можете получить Bluetooth-адрес устройства, открыв настройки Bluetooth GNOME или открыв терминал и набрав «hcitool scan».
Далее вам необходимо установить пакет «pulseaudio-bluetooth». В Ubuntu (и Debian) этот пакет называется «pulseaudio-module-bluetooth».
После установки этого пакета откройте новый терминал и введите:
Затем отключите Bluetooth и снова активируйте его, и теперь вы сможете установить соединение с вашим устройством Bluetooth.
Соединять
Чтобы подключиться к вашему устройству Bluetooth, вы можете использовать настройки Bluetooth GNOME или сделать это через терминал. Если вы предпочитаете последнее, откройте терминал, введите bluetoothctl и нажмите Enter. Это активирует ваш модуль Bluetooth и отобразит все ранее сопряженные устройства с их MAC-адресами. Найдите тот, который соответствует вашей гарнитуре/динамикам, и введите «пара», а затем адрес. Если у вас возникли проблемы с этим методом, введите команду «rfkill unblock bluetooth» и повторите попытку. Если проблемы с сопряжением не устранены, попробуйте команду «hciconfig hci0 sspmode 0» и повторите попытку. Когда сопряжение, наконец, будет выполнено, продолжите с командой «подключиться», за которой снова следует MAC-адрес.
Теперь, если вам нужен более удобный способ подключения к динамикам при каждой загрузке системы, вы можете установить пакет «Blueman», который поместит апплет в область вашего трея. Это не обязательно, но может пригодится. Если вы используете KDE, установите пакет Bluedevil, который также поставляется с удобным виджетом, который вы можете включить с помощью параметров панели задач в Dolphin.
Взять под контроль
После подключения к динамикам Bluetooth вы сможете увидеть и выбрать их в настройках звука.
Кроме того, вы можете установить пакет «pavucontrol», который позволяет выполнять расширенные настройки звука PulseAudio. С помощью этой утилиты вы можете устанавливать разные уровни громкости для каждого канала, устанавливать смещение задержки и управлять громкостью на уровне приложения.
Поскольку отправка звука на ваши динамики — это, по сути, задача передачи данных, было бы неплохо знать, достаточно ли высока скорость передачи для получения качественного результата. Один из способов проверить это — использовать утилиту gkrellm, которая предлагает плагин под названием «gkrellm-bluez». Этот конкретный инструмент устарел (GTK2), но он все еще может прекрасно служить этой цели.
Иди глубже
Если вы хотите углубиться и установить параметры, относящиеся к системе pulseaudio, вы можете сделать это, перейдя в папку \/etc/pulse и открыв файлы конфигурации, введя \sudo gedit default.pa и \sudo gedit client. conf на терминале. Конечно, вы можете использовать другой текстовый редактор, если хотите.
В первом файле вы можете раскомментировать соответствующие сегменты, связанные с автоматической активацией bluetooth, чтобы активировать ваш модуль и автоматически подключаться к гарнитуре после каждой загрузки, а во втором файле вы можете изменить автозапуск с «нет» на «да» в зависимости от того, хотите ли вы, чтобы диспетчер дисплея захватывал A2DP при запуске сеанса или нет. Обязательно сначала сделайте резервную копию этих файлов конфигурации, так как некоторые изменения могут не иметь желаемого/ожидаемого эффекта.
Еще один способ настроить автоматическое обнаружение и подключение гарнитуры при запуске системы — перейти в папку «/etc/bluetooth» и открыть текстовый файл конфигурации «audio.conf». Там вы можете раскомментировать соответствующие части, сохранить и перезагрузиться. Опять же, сначала обязательно сделайте резервную копию файла.
Наконец, если вы хотите увидеть и изменить некоторые основные параметры ваших Bluetooth-устройств, откройте сеанс файлового менеджера с правами root, набрав «sudo nautilus» на терминале и перейдите в «/var/lib/bluetooth». Там вы найдете файл настроек, который касается настроек вашего модуля Bluetooth (имя, возможность обнаружения и т. д.), а также папки, названные в честь MAC-адреса устройства. Откройте файл информации внутри папки и установите отображение имя устройства, изменить его состояния «доверие» и «заблокировать», а также получить ключ ссылки или изменить PIN-код.
Еще ничего?
Если вы по-прежнему не можете подключить свою систему к Bluetooth-устройству, попробуйте Bluez-версию 4-й ветки. В версии 5 был значительно переписан API, что нарушило совместимость с некоторыми устройствами, и во многих случаях ситуация сохраняется до сих пор. Кроме того, существует вероятность того, что ваш диспетчер отображения захватывает приемник A2DP для удовлетворения потребностей пользователей в специальных возможностях на экране входа в систему. Установка для параметра «autospawn» значения «no» в client.conf, как мы упоминали в предыдущей части, поможет решить эту проблему.
Если ваше Bluetooth-соединение зависает/зависает и вы не можете повторно подключиться к динамикам даже после перезагрузки, перейдите в \/etc/bluetooth/, откройте \main.conf от имени пользователя root и измените значение \RememberPowered с\«true» на «false», сохраните файл и перезагрузите компьютер. Сделайте это одновременно с перезагрузкой устройства, и у вас не должно возникнуть никаких проблем при следующей загрузке. Если проблемы не исчезнут, посетите наши форумы и обратитесь за помощью к нашим экспертное сообщество.
Добавление поддержки 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
Теперь для гарнируты можно переключаться между режимами: