Wie kann ich eine Bluetooth-Tastatur beim Start automatisch verbinden lassen?

10

Ich habe eine Bluetooth-Tastatur für meinen HTPC. Ich kopple es über Bluetooth mit meinem Computer und es funktioniert einwandfrei. Wenn ich jedoch die Tastatur oder meinen Computer ausschalte, muss die Verbindung erneut hergestellt werden (was die Eingabe eines Passcodes auf dem Computer und der Tastatur erfordert), wenn ich sie wieder einschalte. Ich habe viele Foren durchgesehen und dabei festgestellt, dass mir einige scheinbar wichtige Bluetooth-Dateien fehlen:

/etc/default/bluetooth

/etc/init.d/bluetooth

/etc/bluetooth/hcid.conf

In den Anweisungen, die ich bisher online gefunden habe, muss ich bestimmte Zeilen in einer dieser Dateien ändern. Ich kann nicht, da sie nicht existieren.

Vermisse ich eine Abhängigkeit oder so? Ich habe auch versucht, Blueman zu installieren, aber das hat überhaupt nicht geholfen.

Ich verwende Ubuntu 10.10 (Maverick).

Ursprünglicher Beitrag: http://ubuntuforums.org/showthread.php?t=1643386&highlight=bluetooth

Gewähren
quelle

Antworten:

11

Diese Antwort stammt aus einem Tutorial von Andrew Martin auf thetechdepo.com. Den Originalbeitrag finden Sie unter dem folgenden Link. Dies ist jedoch eine vollständige Neufassung. Es wurde speziell für eine Apple-Tastatur geschrieben, ich habe es jedoch für mehrere Geräte verwendet, sodass es nicht für Apple oder die Tastatur spezifisch ist. Befolgen Sie einfach die Anweisungen und Sie werden jedes Bluetooth-Gerät in Ubuntu automatisch verbinden lassen.

Gehen Sie zu Systemeinstellungen> Bluetooth und befolgen Sie die Anweisungen, um Ihr neu verbundenes Bluetooth-Gerät hinzuzufügen.

Befolgen Sie die Anweisungen und geben Sie den Pin ein, wenn Sie dazu aufgefordert werden. Nachdem das Gerät angeschlossen ist und funktioniert, schalten Sie das Gerät aus. Nun zum Auto Connect-Teil.

Öffnen Sie Ihr Terminal und geben Sie die folgenden Befehle ein:

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

Der letzte Befehl zeigt die Ausgabe für Ihr Gerät an, z.

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

Installieren Sie ein neues Paket, damit Sie Bluetooth über die Befehlszeile verbinden können.

$ sudo apt-get install bluez-compat

Sobald dies abgeschlossen ist, haben Sie jetzt ein Hidd-Programm installiert. Schalten Sie zu diesem Zeitpunkt Ihre Tastatur ein und geben Sie den folgenden Befehl ein. Es gibt die MAC-Adresse Ihrer Tastatur aus, die Sie kopieren und in den nachfolgenden Befehl einfügen müssen, wie unten dargestellt:

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

Jetzt müssen wir eine Startdatei erstellen, um das Gerät beim Starten des PCs automatisch zu verbinden. Über das Terminal ...

$ gedit ~/.keyboard.sh

Geben Sie den folgenden Text ein und ersetzen Sie AA: BB: CC: DD: EE: FF durch die oben angezeigte Hardware-ID. Speichern Sie abschließend die Datei.

#! /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

Erstellen Sie nun eine neue Startdatei. Ersetzen Sie den von Ihnen gewählten Gerätenamen durch "Tastatur". Dies ist einfach der Name der Datei.

$ sudo gedit /etc/init.d/keyboard

Fügen Sie Folgendes ein, das Ihr Ubuntu anweist, die gerade beim Start erstellte Datei auszuführen.

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

exit 0

Setzen Sie nun beide Dateiberechtigungen über das Terminal auf ausführbar.

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

Starten Sie Ihren Computer neu und Ihr Gerät sollte sich automatisch verbinden und funktionieren, ohne dass Sie etwas tun müssen.

Ich hoffe, das hilft ein paar Leuten, ich habe lange gebraucht, um eine Lösung für mein Problem zu finden, und ich wollte dieses Tutorial etwas tiefer in das Web einbinden.

Den Originallink finden Sie hier .

ryandlf
quelle
Ich glaube, dass hidd laut /usr/share/docs/bluez/NEWS.Debian.gz ab bluez 4.0 zugunsten von udev veraltet ist, aber ich kann keine Dokumentation finden, wie es ohne bluez-kompatibel geht.
Tu-Reinstate Monica-dor duh
3

Ich habe auch Ryandlfs Antwort selbst ausprobiert, aber ein anderes einfaches Setup gefunden, das schließlich die gleiche Arbeit erledigen wird.

Die Hauptidee ist, dass nach dem Pairing und der Vertrauenswürdigkeit des Remote-Geräts hcitool spinqeine regelmäßige Abfrage eingeleitet wird, mit der alle verfügbaren Geräte verbunden werden können.

Initiieren sudo Bluetoothctl -aund befolgen Sie zunächst die folgenden Schritte. Diese stammen aus dem ArchLinux-Wiki , funktionieren aber nachweislich auch in Ubuntu.

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

Der letzte Befehl zeigt alle verfügbaren (auf das Pairing wartenden) Bluetooth-Tastaturen wie diese an.

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

Notieren Sie sich die Adresse Ihrer Tastatur und fahren Sie damit fort.

[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

Fügen Sie nun dieses einfache Skript ein /etc/init.d/keyboard

#! /bin/sh
sudo hcitool spinq
exit 0

Dann führen Sie diese aus.

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

Das ist es. Wenn Sie jetzt Ihre Bluetooth-Tastatur einschalten, wird sie automatisch mit Ihrem Linux verbunden.

Ch.Idea
quelle
$ sudo update-rc.d keyboard defaults insserv: script keyboard is not an executable regular file, skipped!Um zu lösen, trat ich auf sudo chmod +x /etc/init.d/keyboard. Dann trat ich auf sudo update-rc.d keyboard defaults. Warnmeldung erhalten : insserv: warning: script 'keyboard' missing LSB tags and overrides.
Orschiro
Was ist mit sudo service keyboard enable?
Orschiro
Ja, du hast es richtig gemacht chmod +x.
Ch.Idea
Fehlende Fehler bei LSB-Tags können ignoriert werden und sind bei dieser Aufgabe nicht wirklich wichtig. Wenn Sie möchten, suchen Sie danach, indem Sie googeln und oben in die Datei einfügen. Sie sind in einfacher Form.
Ch.Idea
1

Ich hatte ein sehr ähnliches Problem mit einer Apple BlueTooth-Tastatur. Ich habe es gekauft, weil ich das Gefühl der Schlüssel geliebt habe. Ich konnte es jedoch nicht in Verbindung halten. Das Problem schien in der Tastaturidentifikation zu liegen. Nachdem es mit einem tatsächlichen MAC-Computer abgeglichen wurde, auf dem es einen tatsächlichen Namen erhielt, hatte ich keine Probleme mehr, es mit Linux oder Windows zu verbinden. Meine Frau benutzt es jetzt ohne Probleme.

Ich weiß nicht, wie dies in Ihrer Situation umgesetzt werden kann, aber dies kann ein Ausgangspunkt sein. Von anderen Freunden scheint die Geräteidentifikation hier das Hauptproblem zu sein.

jfmessier
quelle
1

Seit bluez 5.35 (September 2015) sollte es ausreichen, die Konfigurationsdatei /etc/bluetooth/main.confdurch Aktivieren zu ändern AutoEnable=true.

So koppeln Sie ein neues Gerät von einem Terminal aus (vorausgesetzt, dies 01:02:03:04:05:06ist die Mac-Adresse des Geräts, das Sie koppeln möchten):

$ 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
quelle
Ja, der Vertrauensbereich hat den Unterschied ausgemacht, dass ich mich beim Start automatisch wieder verbinden konnte.
p1l0t
0

Ich habe eine Bluetooth-Tastatur gekauft und bin hier auf dieser Seite gelandet und habe versucht, was Ryandlf und was Ch.Idea vorgeschlagen hat. Es hat nicht funktioniert. Nach einigen Analysen und Versuchen fand ich diese Kombination:

Versuchen Sie zunächst, wie von den Jungs vorgeschlagen, das Gerät manuell über die GUI zu verbinden. Stellen Sie sicher, dass es funktioniert. Trennen Sie es dann und schalten Sie es aus. Wir werden dann manuell von vorne beginnen.

Erhalten Sie Root-Rechte:

su

Dann:

hcitool scan

Drücken Sie gleichzeitig die Tasten oder was auch immer auf dem Gerät und stellen Sie sicher, dass es erkannt wird. Wenn es entdeckt wird, sollte es eine Adresse davon drucken, z. B. 20: 73: 00: 01: 90: 65, und eine Beschreibung des Geräts, z. B. Bluetooth-Tastatur. Holen Sie sich diese Adresse in die Zwischenablage.

Als nächstes sind wir bereit, eine Verbindung herzustellen. JEDER ÜBER DAS INTERNET EMPFIEHLT, DAS FEHLT, WIE ES NICHT MEHR PRÄSENTIERT. Deshalb konnte ich diese Arbeit nicht so lange machen ... Nachdem ich mir den Mann von hcitool angesehen hatte, fand ich viele nützliche Befehle und brauchte keinen dbus oder was auch immer zu verwenden. Um es zu verbinden, geben wir Folgendes aus:

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

und das ist es.

Experimente haben gezeigt, dass es sich sogar automatisch wieder verbindet, wenn ich das Gerät vorübergehend ausschalte.

TEIL 2.

Ich habe auch einen Dienst erstellt, wie die Leute in anderen Antworten vorgeschlagen haben. Zuerst habe ich eine Datei /etc/init.d/keyboard mit folgendem Inhalt erstellt:

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

Dann als Wurzel:

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

Das ist es. Ich hoffe es hilft.

Oh, und es ist Debian 9.

Leonid Titov
quelle