Ubuntu bluetooth auto connect

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

A linux command line tool to automatically connect to all paired and trusted bluetooth devices.

License

jrouleau/bluetooth-autoconnect

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

A linux command line tool to automatically connect to all paired and trusted bluetooth devices.

It can operate as a oneshot script or as a daemon where it waits for adapters to come online.

If you have packaged this for another disto, please open an issue or PR so the instructions can be added to this list.

  • Install AUR package from https://aur.archlinux.org/packages/bluetooth-autoconnect/
  • Enable the service with sudo systemctl enable bluetooth-autoconnect
  • If you are using pulseaudio with a bluetooth headset or speaker, also enable the helper service with systemctl —user enable pulseaudio-bluetooth-autoconnect
  • Install the bluetooth-autoconnect script to somewhere in your PATH , such as /usr/local/bin/
  • If you are using systemd, consider installing the bluetooth-autoconnect.service file to /etc/systemd/system/ and modifying it to reflect the location of where you installed the script
    • Enable the service with sudo systemctl enable bluetooth-autoconnect

    If you are using a bluetooth headset with pulseaudio running as your user, then the above service will fail to connect to your headset on boot because pulseaudio won’t have been started when to bluetooth service comes up.

    • If you are using systemd, consider installing the pulseaudio-bluetooth-autoconnect.service file to /etc/systemd/user/ or ~/.config/systemd/user/ and modifying it to reflect the location of where you installed the script
      • Enable the service with systemctl —user enable pulseaudio-bluetooth-autoconnect
      Usage: bluetooth-autoconnect [OPTIONS]. Automatically connect to trusted bluetooth devices OPTIONS: -d, --daemon Monitor bluetooth adapters and automatically connect to trusted devices when an adapter is powered on -h, --help Print this help message -v, --verbose Show more detailed log messages

      Simply running the script will scan all powered on adapters and connect to any available devices

      $ bluetooth-autoconnect connecting to device /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX successfully connected to device /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX

      When operating in daemon mode with the -d flag, it will first connect to any available devices and then wait for new adapters to be connected/powered on. Sending the HUP signal to the process will force it to rescan all adapters.

      $ bluetooth-autoconnect -d connecting to device /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX successfully connected to device /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX [. ] connecting to device /org/bluez/hci1/dev_XX_XX_XX_XX_XX_XX successfully connected to device /org/bluez/hci1/dev_XX_XX_XX_XX_XX_XX

      Copyright (c) 2019 Jonathan Rouleau

      Источник

      Автоподключение bluetooth-устройств

      Столкнулся с проблемой. Суть в том, что подключенное bluetooth-устройство после перезапуска компьютера не подключается само. Требуется снова подключить его вручную. Похоже, что проблема общая для всего семейства Ubuntu 18.04 и дистрибутивов на его основе. Работоспособность решения проверена в Elementary OS Juno Beta 2.

      Обновлено! Обратите внимание, что данная проблема была решена на уровне самой системы. Когда я ставил релиз Elementary OS Juno, то всё работало сразу из коробки. Я не знаю точно, была ли это проблема Ubuntu или Elementary OS. Данное руководство решил оставить, т.к. здесь показан ручной способ работы с устройством Bluetooth. Это может пригодиться.

      Bluetooth-устройство пока не подключаем. Далее приведённые команды вводим в консоли. Права root не нужны.

      Запускаем программу для работы с bluetooth:

      Консоль не трогаем. Подключаем нужное bluetooth-устройство стандартными средствами. Я делаю это в Elementary OS через верхнее меню. За результатом наблюдаем в консоли:

      [CHG] Device 00:1F:20:E1:B3:B7 Connected: yes [CHG] Device 00:1F:20:E1:B3:B7 ServicesResolved: yes

      Так отображается успешное подключение. Нам важно было получить код устройства. Теперь мы просто добавим это устройство в число доверенных:

      И пробовать перезапускать компьютер.

      d1mon@d1monNB:~$ bluetoothctl Agent registered [CHG] Device 00:1F:20:E1:B3:B7 Connected: yes [CHG] Device 00:1F:20:E1:B3:B7 ServicesResolved: yes [Bluetooth Mouse M557]# trust 00:1F:20:E1:B3:B7 [CHG] Device 00:1F:20:E1:B3:B7 Trusted: yes Changing 00:1F:20:E1:B3:B7 trust succeeded [Bluetooth Mouse M557]# exit

      Может быть полезным обновить софт для bluetooth до последней версии:

      sudo add-apt-repository ppa:bluetooth/bluez sudo apt update sudo apt upgrade bluez

      Источник

      Autoconnecting Bluetooth Devices

      Is there a way to set the Bluetooth in Ubuntu to autoconnect to devices it is paired to when it is turned on. Furthermore, is there a way to automatically change the sound output to a Bluetooth headset on connection?

      3 Answers 3

      Pulseaudio >= 1.0

      By editing the /etc/pulse/default.pa we can load the pulseaudio module module-switch-on-connect to autoconnect to an audio sink as soon as it is presented to the pulseaudio sound server. We need to insert the following line

      load-module module-switch-on-connect 

      Previous versions of pulseaudio

      Bluetooth devices are recognized in PulseAudio as soon as they are present. However connection needs to be made manually in audio settings. There is a GUI that allows one-click connection to BT devices (stream2ip).

      Edit: From version 0.2.5 stream2ip allows auto-connecting to Bluetooth devices.

      Edit: you can set up your bluez device as default device (e.g. by using pactl or in the config settings) with fallback to internal audio if no bluetooth device is present.

      Edit: Here is a quick and dirty Python script to give you an idea on how to do the job:

      #!/usr/bin/env python #-*- coding: utf-8 -*- # # bt-autoconnect # Autoconnects Bluetooth Devices to PulseAudio # (c) Takkat Nebuk # Licence: GPLv3 # usage: # bt-autoconnect  import subprocess import time import sys import string cli_options = sys.argv def main(): MAC = cli_options[1] timeout = cli_options[2] PMAC = string.replace(MAC,':','_') # PA don't know ':', needs '_' pa_args = ['pacmd set-default-sink bluez_sink.' + PMAC] bt_args = ['sdptool browse ' + MAC] err = False while err == False: if subprocess.call(bt_args, shell=True) == 0: err = subprocess.call(pa_args, shell=True) time.sleep(int(timeout)) exit() if __name__ == "__main__": main() 

      Just copy this script and save it as bt-autoconnect.py. Make the script executable or run it from command line (recommended) by cd /script/directory and then type:

      python bt-autoconnect.py [MAC] [timeout] 

      Replace MAC by the MAC of your Bluetooth device (e.g. 00:0C:78:4F:B6:B5) and set a desired timeout (e.g. 10) in seconds when the script looks for the device. This script will then listen to the given MAC every timeout seconds for a Bluetooth device and connects it to PulseAudio if present. The script will run forever until it’s being killed or the virtual terminal was closed.

      Sometimes PulseAudio seems not to be aware of the device being present again after it has been switched out. With some hope pulseaudio -k makes it reappear.

      Not fancy, no GUI but at least in my settings it worked o.k..

      Edit for those interested: bt-autoconnect with GUI for convenient setup is released. Please file bugs or suggestions there. Thank you for testing.

      Источник

      Автоматическое подключение устройств Bluetooth

      Есть ли способ настроить Bluetooth в Ubuntu для автоматического подключения к устройствам, к которым он подключен, когда он включен. Кроме того, есть ли способ автоматически переключать вывод звука на гарнитуру Bluetooth при подключении?

      3 ответа

      Pulseaudio >= 1,0

      Редактируя /etc/pulse/default.pa мы можем загрузить модуль- модуль- импульс-аудио для автоматическогоподключения к аудиоприемнику, как только он будет представлен на звуковой сервер pulseaudio. Нам нужно вставить следующую строку

      load-module module-switch-on-connect 

      Предыдущие версии pulseaudio

      Устройства Bluetooth распознаются в PulseAudio, как только они появляются. Однако подключение необходимо выполнить вручную в настройках звука. Существует графический интерфейс, который позволяет одним щелчком мыши подключаться к устройствам BT ( stream2ip).

      Изменить: Начиная с версии 0.2.5 stream2ip позволяет автоматически подключаться к устройствам Bluetooth.

      Редактировать: вы можете настроить ваше устройство bluez как устройство по умолчанию (например, с помощью pactl или в настройках конфигурации) с откатом к внутреннему звуку, если устройство Bluetooth отсутствует.

      Изменить: Вот быстрый и грязный скрипт Python, чтобы дать вам представление о том, как сделать работу:

      #!/usr/bin/env python #-*- coding: utf-8 -*- # # bt-autoconnect # Autoconnects Bluetooth Devices to PulseAudio # (c) Takkat Nebuk # Licence: GPLv3 # usage: # bt-autoconnect  import subprocess import time import sys import string cli_options = sys.argv def main(): MAC = cli_options[1] timeout = cli_options[2] PMAC = string.replace(MAC,':','_') # PA don't know ':', needs '_' pa_args = ['pacmd set-default-sink bluez_sink.' + PMAC] bt_args = ['sdptool browse ' + MAC] err = False while err == False: if subprocess.call(bt_args, shell=True) == 0: err = subprocess.call(pa_args, shell=True) time.sleep(int(timeout)) exit() if __name__ == "__main__": main() 

      Просто скопируйте этот скрипт и сохраните его как bt-autoconnect.py. Сделайте скрипт исполняемым или запустите его из командной строки (рекомендуется) cd /script/directory а затем введите:

      python bt-autoconnect.py [MAC] [timeout] 

      Замените MAC на MAC вашего устройства Bluetooth (например, 00:0C:78:4F:B6:B5) и установите желаемое время ожидания (например, 10) в секундах, когда скрипт ищет устройство. Затем этот сценарий будет прослушивать указанный MAC каждые секунды для устройства Bluetooth и подключать его к PulseAudio, если он есть. Сценарий будет работать вечно, пока он не будет убит или виртуальный терминал не будет закрыт.

      Иногда PulseAudio, похоже, не знает о том, что устройство снова присутствует после его выключения. С некоторой надеждой pulseaudio -k заставляет это появляться снова.

      Не модно, нет графического интерфейса, но, по крайней мере, в моих настройках все работало нормально.

      Редактировать для тех, кто заинтересован: выпущен bt-autoconnect с графическим интерфейсом для удобной настройки. Пожалуйста, отправляйте туда сообщения об ошибках или предложения. Спасибо за тестирование.

      Источник

      Читайте также:  Топ блютуз колонок до 20000
Оцените статью
Adblock
detector