web-dev-qa-db-fra.com

Comment puis-je avoir une connexion automatique au clavier Bluetooth au démarrage?

J'ai un clavier Bluetooth pour mon HTPC. Je le couple avec mon ordinateur via Bluetooth, et cela fonctionne bien. Cependant, lorsque j'éteins le clavier ou mon ordinateur, il doit se reconnecter (ce qui nécessite que je saisisse un code d'authentification sur l'ordinateur et le clavier) lorsque je les rallume. J'ai parcouru de nombreux forums et constaté qu'il me manquait des fichiers Bluetooth apparemment essentiels:

/etc/default/bluetooth

/etc/init.d/bluetooth

/etc/bluetooth/hcid.conf

Dans les instructions que j'ai trouvées en ligne jusqu'à présent, je dois modifier certaines lignes dans l'un de ces fichiers. Je ne peux pas, car ils n'existent pas.

Est-ce que je manque une dépendance ou quelque chose? J'ai également essayé d'installer Blueman mais cela n'a pas aidé du tout.

J'utilise Ubuntu 10.10 (Maverick).

Message original: http://ubuntuforums.org/showthread.php?t=1643386&highlight=bluetooth

10
Grant

Cette réponse provient d'un tutoriel écrit par Andrew Martin sur thetechdepo.com. Voir le lien ci-dessous pour le message d'origine, mais il s'agit d'une réécriture complète. Il est écrit spécifiquement pour un clavier Apple. Cependant, je l’ai utilisé pour plusieurs périphériques et il n’est donc pas spécifique à Apple ni au clavier. Suivez simplement les instructions et vous aurez un périphérique Bluetooth automatiquement connecté à Ubuntu.

Accédez à Paramètres système> Bluetooth et suivez les instructions pour ajouter votre périphérique Bluetooth nouvellement connecté.

Suivez les instructions et entrez la broche à la demande, puis, une fois le périphérique connecté et opérationnel, mettez-le hors tension. Passons maintenant à la partie de connexion automatique.

Ouvrez votre terminal et entrez les commandes suivantes:

$ killall bluetooth-applet 
$ Sudo /etc/init.d/bluetooth restart 
$ Sudo hcitool dev

La dernière commande affichera la sortie de votre appareil, telle que:

Devices:
    hci0    00:00:00:00:00:00

Installez un nouveau package pour vous permettre de vous connecter à Bluetooth via la ligne de commande.

$ Sudo apt-get install bluez-compat

Une fois que cela est terminé, vous aurez maintenant installé le programme hidd. À ce stade, allumez votre clavier et entrez la commande suivante. Il sortira l'adresse MAC de votre clavier, que vous devrez copier et coller dans la commande suivante, comme indiqué ci-dessous:

$ hcitool scan        
Scanning ...
    AA:BB:CC:DD:EE:FF   Bluetooth Device Name
$ Sudo hidd --connect AA:BB:CC:DD:EE:FF

Nous devons maintenant créer un fichier de démarrage pour connecter automatiquement le périphérique au démarrage du PC. Via le terminal ...

$ gedit ~/.keyboard.sh

Entrez le texte suivant en remplaçant AA: BB: CC: DD: EE: FF par l'ID de matériel que vous avez vu ci-dessus. Enfin, sauvegardez le fichier.

#! /bin/bash

address="AA:BB:CC:DD:EE:FF"

while (sleep 1)
do
connected=`Sudo hidd --show` > /dev/null
if [[ ! $connected =~ .*${address}.* ]] ; then
Sudo hidd --connect ${address} > /dev/null 2>&1
fi
done

Créez maintenant un nouveau fichier de démarrage. Remplacez "clavier" par le nom de périphérique que vous choisissez. C'est simplement le nom du fichier.

$ Sudo gedit /etc/init.d/keyboard

Collez le texte suivant, qui indique à votre Ubuntu d’exécuter le fichier que vous venez de créer au démarrage.

#!/bin/sh
/home/username/.keyboard.sh &

exit 0

Définissez maintenant les autorisations des deux fichiers sur le fichier exécutable via le terminal.

$ Sudo chmod +x /etc/init.d/keyboard
$ chmod +x ~/.keyboard.sh
$ Sudo update-rc.d keyboard defaults

Redémarrez votre ordinateur et votre appareil devrait se connecter automatiquement et fonctionner sans que vous ayez à faire quoi que ce soit.

J'espère que cela aide quelques personnes, qu'il m'a fallu beaucoup de temps pour trouver une solution à mon problème et que je voulais cimenter ce tutoriel un peu plus profondément dans le Web.

Le lien original peut être trouvé ici .

11
ryandlf

J'ai aussi essayé la réponse de ryandlf par moi-même, mais j'ai trouvé une autre configuration facile qui finira par faire le même travail.

L'idée principale est qu'une fois que le périphérique distant est apparié et approuvé, hcitool spinq initiera une interrogation périodique qui permettra à tous les périphériques disponibles d'être connectés.

Commencez par lancer Sudo Bluetoothctl -a et suivez les étapes ci-dessous. Celles-ci proviennent de ArchLinux wiki , mais leur fonctionnement est identique dans Ubuntu.

[bluetooth]# power on
[bluetooth]# agent KeyboardOnly
[bluetooth]# pairable on
[bluetooth]# scan on

La dernière commande affichera tous les claviers Bluetooth disponibles (en attente de couplage) comme celui-ci.

Discovery started
[CHG] Controller 01:02:03:04:05:06 Discovering: yes

Notez cette adresse de votre clavier et continuez avec elle.

[bluetooth]# pair 01:02:03:04:05:06
[bluetooth]# trust 01:02:03:04:05:06
[bluetooth]# connect 01:02:03:04:05:06
[bluetooth]# quit

Maintenant, mettez ce script simple dans /etc/init.d/keyboard

#! /bin/sh
Sudo hcitool spinq
exit 0

Puis exécutez ceux-ci.

Sudo chmod +x /etc/init.d/keyboard
Sudo service keyboard enable
Sudo update-rc.d keyboard defaults
Sudo service keyboard start

C'est tout. Maintenant, chaque fois que vous allumez votre clavier Bluetooth, il sera automatiquement connecté à votre Linux.

3
Ch.Idea

J'ai eu un problème très similaire avec un clavier Apple BlueTooth. Je l'ai acheté parce que j'aimais la sensation des touches. Cependant, je ne pouvais pas le garder connecté. Le problème semblait être dans l'identification du clavier. Une fois qu’il a été associé à un ordinateur MAC, où il a reçu un nom, je n’ai plus eu de problème pour le connecter à Linux ou Windows. Ma femme l'utilise maintenant sans problème.

Je ne sais pas comment cela peut être transposé dans votre situation, mais cela peut être un point de départ. D'après d'autres amis, il semble que l'identification du périphérique soit le principal problème ici.

1
jfmessier

Depuis bluez 5.35 (septembre 2015), il devrait suffire de modifier le fichier de configuration /etc/bluetooth/main.conf en activant AutoEnable=true.

Pour coupler un nouveau périphérique à partir d'un terminal (en supposant que 01:02:03:04:05:06 est l'adresse MAC du périphérique que vous essayez de coupler):

$ bluetoothctl
# power on
# agent KeyboardOnly
# default-agent
# pairable on
# scan on
# pair 01:02:03:04:05:06
# trust 01:02:03:04:05:06
# connect 01:02:03:04:05:06
# quit
$ exit
1
psq