18 votes

Se connecter automatiquement à un haut-parleur Bluetooth dans Ubuntu 16.04

BT est activé au démarrage. C'est bien. Mais il ne se connectera pas automatiquement à un appareil, même s'il est apparié une fois et obtient le statut "de confiance". Je peux me connecter à un haut-parleur avec l'outil en sélectionnant l'appareil et en "connectant à la sortie audio". Comment cela peut-il se faire automatiquement au démarrage ? Je peux également le faire avec "bluetoothctl" puis "connect ", mais c'est interactif, semble ne pas être scriptable.

Et la deuxième étape est que BT devienne le périphérique audio par défaut.
N'est-ce pas un cas d'utilisation ordinaire ?

(J'ai trouvé quelques pages ici, la plupart étant obsolètes.) Autoconnecting Bluetooth Devices : load-module module-switch-on-connect ne fonctionne pas pour moi.

J'ai également installé bt-autoconnect. Mais plusieurs problèmes : - il n'a pas trouvé l'adaptateur BT - Le bouton Réglage audio ne fait rien - Enregistrer et quitter ne fait rien non plus.

5voto

Gabor Points 85

Essayez la commande bluetoothctl.

Si vous entrez ensuite help, vous verrez les commandes à utiliser.

  • 'list' (appareils)
  • 'trust 78:44:aa:bb:cc:dd' (adresse MAC de l'appareil)
  • 'info 78:44:aa:bb:cc:dd' (adresse MAC de l'appareil)
  • 'paired-devices'

Essayez, cela a fonctionné pour moi.

4voto

Matthias Danetzky Points 101

Pour connecter automatiquement à Audio Sink, vous pouvez ajouter la ligne suivante dans /etc/rc.local:

(sleep 6; echo "connect AA:BB:CC:DD:EE:FF\nquit" | bluetoothctl) &

Met à jour l'adresse. Vous pouvez vérifier en ligne de commande:

echo -e "devices\nquit" | bluetoothctl

Dans mon cas, sleep 6 est suffisant - mais peut-être que sur votre ordinateur, cela doit être augmenté pour permettre à d'autres étapes de connexion bluetooth d'être pleinement complétées.

Généralement avec le signe & à la fin, vous allez démarrer un processus qui sera exécuté dans 6 secondes sans bloquer les prochains processus démarrant les fonctions normales de connexion bluetooth. Si le rc.local n'existe pas (c'était mon cas), vous pouvez le créer ou l'initialiser au démarrage avec un autre fichier.

2voto

Arno Points 435

Pour la deuxième partie (passage automatique au haut-parleur BT en tant que sink), j'ai trouvé une solution. A déjà été posté ici :

# /etc/pulse/default.pa
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect # this is new!
.endif

MAIS : Comment le serveur BT peut-il associer automatiquement avec le haut-parleur, dès qu'il est disponible ? AIDE !


Édit : trouvé une (pas la meilleure à mon avis) solution pour la première question :

echo "connect AA:BB:CC:DD:EE:FF" | bluetoothctl

MAIS : Encore mieux serait que cela fonctionne sans cette adresse MAC pour tous les appareils auxquels il a été connecté et approuvé.

1voto

BlueManCZ Points 463

J'ai écrit un script simple qui permettra de se reconnecter automatiquement au périphérique lorsque vous redémarrez votre PC ou lorsque le périphérique bascule l'état bluetooth ou perd un signal pendant un certain temps.

#!/bin/bash

MAC="E0:CC:F8:E8:87:5D"

powered() {
    echo "show" | bluetoothctl | grep "Powered" | cut -d " " -f 2
}

connected() {
    echo "info ${MAC}" | bluetoothctl | grep "Connected" | cut -d " " -f 2
}

while true
do
    sleep 1
    if [ $(powered) = yes ] && [ $(connected) = no ]; then
        echo "connect ${MAC}" | bluetoothctl
        sleep 5
    fi
done
  1. Mettez à jour la variable MAC avec l'adresse MAC de votre périphérique. (haut-parleur, smartphone...)
    echo "devices" | bluetoothctl | grep Device
  2. Enregistrez le script par exemple sous ~/.bt-autoconnect.sh
  3. Rendez-le exécutable chmod +x ~/.bt-autoconnect.sh
  4. Exécutez-le à la connexion echo "~/.bt-autoconnect.sh &" >> "~/.xprofile"

0voto

nojevive Points 1030

Sur Ubuntu, les problèmes de son sont dus aux pilotes installés. Si ce haut-parleur est le matériel le plus récent et le plus tendance, vous n'avez pas de bonnes chances et devrez attendre de 2 à 8 mois jusqu'à ce que le pilote soit disponible dans la communauté Linux. Mais vous pouvez essayer d'installer les paquets suivants dans le terminal :

sudo apt-get install amarok rhythmbox

redémarrer

Ensuite, activez le Bluetooth et voyez si votre haut-parleur est pris en charge :

  • Ouvrez la vue d'ensemble des activités et commencez à taper Bluetooth.
  • Cliquez sur Bluetooth pour ouvrir le panneau.
  • Placez l'interrupteur en haut sur ON.

Bonne chance ou soyez patient pendant maximum 8 mois.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X