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

10

J'ai un clavier Bluetooth pour mon HTPC. Je l'associe à 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'accès sur l'ordinateur et le clavier) lorsque je les rallume. J'ai regardé à travers de nombreux forums et à travers cela, j'ai trouvé que je manquais des fichiers Bluetooth apparemment vitaux:

/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.

Suis-je en train de manquer 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 d'origine: http://ubuntuforums.org/showthread.php?t=1643386&highlight=bluetooth

Subvention
la source

Réponses:

11

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, mais je l'ai utilisé pour plusieurs appareils, il n'est donc pas spécifique à Apple ou au clavier. Suivez simplement les instructions et vous aurez une connexion automatique de n'importe quel appareil Bluetooth dans Ubuntu.

Accédez à Paramètres système> Bluetooth et suivez les instructions pour ajouter votre nouvel appareil Bluetooth connecté.

Suivez les instructions et entrez le code PIN à la demande, puis une fois l'appareil connecté et opérationnel, éteignez-le. Maintenant sur 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 connecter Bluetooth via la ligne de commande.

$ sudo apt-get install bluez-compat

Une fois cette opération terminée, vous aurez maintenant installé le programme hidd. À ce stade, allumez votre clavier et entrez la commande suivante. Il affichera 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 l'appareil 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 matériel que vous avez vu ci-dessus. Enfin, enregistrez 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 d'appareil que vous choisissez. Il s'agit simplement du nom du fichier.

$ sudo gedit /etc/init.d/keyboard

Collez ce qui suit, 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

Maintenant, définissez les deux autorisations de fichiers sur 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, il m'a fallu beaucoup de temps pour trouver une solution à mon problème et je voulais cimenter ce tutoriel un peu plus profondément dans le web.

Le lien d'origine se trouve ici .

ryandlf
la source
Je crois que hidd est désormais obsolète à partir de bluez 4.0 en faveur d'udev, selon /usr/share/docs/bluez/NEWS.Debian.gz, mais je ne trouve aucune documentation sur la façon de le faire sans bluez-compat.
tu-Reinstate Monica-dor duh
3

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

L'idée principale est qu'une fois que l'appareil distant est couplé et approuvé, hcitool spinqil lancera une enquête périodique qui permettra à tous les appareils disponibles d'être connectés.

Tout d'abord, lancez sudo Bluetoothctl -aet suivez les étapes ci-dessous. Celles-ci proviennent du wiki ArchLinux mais ont prouvé qu'elles fonctionnent également 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 d'association) comme celui-ci.

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

Notez cette adresse de votre clavier et continuez avec.

[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

Exécutez-les ensuite.

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

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

Ch.Idea
la source
$ sudo update-rc.d keyboard defaults insserv: script keyboard is not an executable regular file, skipped!Pour résoudre, j'ai joué sudo chmod +x /etc/init.d/keyboard. Ensuite, j'ai joué sudo update-rc.d keyboard defaults. Avertissement reçu: insserv: warning: script 'keyboard' missing LSB tags and overrides.
orschiro
Et alors sudo service keyboard enable?
orschiro
Oui, vous avez bien fait chmod +x.
Ch.Idea
Les erreurs manquantes des balises LSB peuvent être ignorées et ne sont pas vraiment importantes dans cette tâche. Si vous le souhaitez, recherchez-le en recherchant sur Google et collez-le au-dessus du fichier. Ils sont sous forme simple.
Ch.Idea
1

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é apparié à un ordinateur MAC réel, où il a obtenu un nom réel, je n'ai plus eu de problème de connexion à 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 de l'appareil soit le principal problème ici.

jfmessier
la source
1

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

Pour associer un nouvel appareil à partir d'un terminal (en supposant que 01:02:03:04:05:06c'est l'adresse mac de l'appareil que vous essayez d'associer):

$ 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
psq
la source
Oui, la partie confiance est ce qui a fait la différence pour moi de pouvoir me reconnecter automatiquement au démarrage.
p1l0t
0

J'ai acheté un clavier Bluetooth et j'ai atterri sur cette page ici, et j'ai essayé ce que ryandlf et ce que Ch.Idea a suggéré. Ça n'a pas marché. Après quelques analyses et essais, j'ai trouvé cette combinaison:

Tout d'abord, comme les gars l'ont suggéré, essayez de connecter l'appareil manuellement depuis l'interface graphique. Assurez-vous que cela fonctionne. Débranchez-le ensuite et éteignez-le. Nous recommencerons alors manuellement.

Obtenez les privilèges root:

su

Ensuite:

hcitool scan

et appuyez simultanément sur les boutons ou quoi que ce soit sur l'appareil, et assurez-vous qu'il est découvert. S'il est découvert, il doit en imprimer l'adresse, par exemple 20: 73: 00: 01: 90: 65, et une description de l'appareil, par exemple le clavier Bluetooth. Saisissez cette adresse dans le presse-papiers.

Ensuite, nous sommes prêts à nous connecter. TOUT LE MONDE SUR INTERNET SUGGÈRE CACHÉ, CE QUI EST TROMPEUR COMME IL N'EST PLUS PRÉSENT. C'est pourquoi je n'ai pas pu faire fonctionner cela si longtemps ... Après avoir regardé man of hcitool, j'ai trouvé de nombreuses commandes utiles, et pas besoin d'utiliser dbus ou autre chose. Donc, pour le connecter, nous émettons:

hcitool cc 20:73:00:01:90:65

et c'est tout.

Les expériences ont montré qu'il se reconnectait même automatiquement lorsque j'ai éteint temporairement l'appareil.

PARTIE 2.

J'ai également créé un service, comme les gars l'ont suggéré dans d'autres réponses. J'ai tout d'abord créé un fichier /etc/init.d/keyboard, avec ce contenu:

#! /bin/sh
sudo hcitool cc 20:73:00:01:90:65
exit 0

Ensuite, en tant que root:

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

C'est tout. J'espère que ça aide.

Oh, et c'est Debian 9.

Leonid Titov
la source