Como posso conectar automaticamente o teclado Bluetooth na inicialização?

10

Eu tenho um teclado bluetooth para o meu HTPC. Emparelho-o com o meu computador via bluetooth e funciona bem. No entanto, quando desligo o teclado ou o computador, ele deve se conectar novamente (o que exige que eu digite uma senha no computador e teclado) quando os ligo novamente. Eu olhei por muitos fóruns e descobri que estou perdendo alguns arquivos bluetooth aparentemente vitais:

/etc/default/bluetooth

/etc/init.d/bluetooth

/etc/bluetooth/hcid.conf

Nas instruções que encontrei on-line até agora, devo alterar determinadas linhas em qualquer um desses arquivos. Eu sou incapaz de, uma vez que eles não existem.

Estou perdendo uma dependência ou algo assim? Eu também tentei instalar o Blueman, mas isso não ajudou em nada.

Estou executando o Ubuntu 10.10 (Maverick).

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

Conceder
fonte

Respostas:

11

Esta resposta vem de um tutorial escrito por Andrew Martin em thetechdepo.com. Veja o link abaixo para a postagem original, no entanto, essa é uma reescrita completa. Ele foi escrito especificamente para um teclado da Apple, no entanto, eu o usei para vários dispositivos, para que não seja específico da Apple ou do teclado. Basta seguir as instruções e você terá qualquer dispositivo bluetooth conectado automaticamente no Ubuntu.

Vá para Configurações do sistema> Bluetooth e siga as instruções para adicionar seu dispositivo bluetooth recém-conectado.

Siga as instruções e insira o pino quando solicitado; depois que o dispositivo estiver conectado e funcionando, desligue o dispositivo. Agora, na parte de conexão automática.

Abra seu terminal e digite os seguintes comandos:

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

O último comando exibirá a saída do seu dispositivo, como:

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

Instale um novo pacote para permitir a conexão do bluetooth pela linha de comando.

$ sudo apt-get install bluez-compat

Depois que isso for concluído, você terá o programa hidd instalado. Nesse ponto, ligue o teclado e digite o seguinte comando. Ele emitirá o endereço MAC do seu teclado, que você precisará copiar e colar no comando subseqüente, como mostrado abaixo:

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

Agora temos que criar um arquivo de inicialização para conectar automaticamente o dispositivo quando o PC iniciar. Através do terminal ...

$ gedit ~/.keyboard.sh

Digite o texto a seguir, substituindo AA: BB: CC: DD: EE: FF pelo ID de hardware que você viu acima. Por fim, salve o arquivo.

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

Agora crie um novo arquivo de inicialização. Substitua "teclado" por qualquer nome de dispositivo que você escolher. Este é simplesmente o nome do arquivo.

$ sudo gedit /etc/init.d/keyboard

Cole o seguinte, que diz ao Ubuntu para executar o arquivo que você acabou de criar na inicialização.

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

exit 0

Agora defina as permissões de ambos os arquivos como executáveis ​​através do terminal.

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

Reinicie o computador e o dispositivo deve se conectar automaticamente e funcionar sem que você precise fazer nada.

Espero que isso ajude algumas pessoas, demorei muito tempo para encontrar uma solução para o meu problema e queria consolidar este tutorial um pouco mais profundamente na web.

O link original pode ser encontrado aqui .

ryandlf
fonte
Acredito que o hidd agora está obsoleto a partir do bluez 4.0 em favor do udev, de acordo com /usr/share/docs/bluez/NEWS.Debian.gz, mas não consigo encontrar nenhuma documentação sobre como fazê-lo sem o bluez-compat.
tu restabelece Monica-dor duh
3

Também tentei a resposta de ryandlf sozinho, mas encontrei outra configuração fácil que acabará por fazer o mesmo trabalho.

A idéia principal é que, quando o dispositivo remoto estiver emparelhado e confiável, hcitool spinqiniciará uma consulta periódica que permitirá que todos os dispositivos disponíveis sejam conectados.

Primeiro, inicie sudo Bluetoothctl -ae siga as etapas abaixo. Estes são da wiki do ArchLinux, mas comprovadamente funcionam da mesma forma no Ubuntu.

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

O último comando mostrará todos os teclados bluetooth disponíveis (aguardando emparelhamento) como este.

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

Anote o endereço do seu teclado e continue com ele.

[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

Agora coloque esse script simples em /etc/init.d/keyboard

#! /bin/sh
sudo hcitool spinq
exit 0

Em seguida, execute-os.

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

É isso aí. Agora, sempre que você ligar o teclado Bluetooth, ele será conectado automaticamente ao seu Linux.

Ch.Idea
fonte
$ sudo update-rc.d keyboard defaults insserv: script keyboard is not an executable regular file, skipped!Para resolver, eu executei sudo chmod +x /etc/init.d/keyboard. Então eu executei sudo update-rc.d keyboard defaults. Aviso recebido: insserv: warning: script 'keyboard' missing LSB tags and overrides.
orschiro
Que tal sudo service keyboard enable?
Orschiro # 25/16
Sim, você fez bem chmod +x.
precisa
O erro ausente das tags LSB pode ser ignorado e não é realmente importante nesta tarefa. Se desejar, pesquise no Google e cole sobre o arquivo. Eles estão na forma simples.
precisa
1

Eu tive um problema muito semelhante com um teclado Apple BlueTooth. Comprei porque adorei a sensação das teclas. No entanto, não consegui mantê-lo conectado. O problema parecia estar na identificação do teclado. Depois que ele correspondeu a um computador MAC real, onde recebeu um nome real, não tive mais problemas em conectá-lo ao Linux ou Windows. Minha esposa agora usa sem problemas.

Não sei como isso pode ser transposto na sua situação, mas isso pode ser um ponto de partida. De outros amigos, parece que a identificação do dispositivo é o principal problema aqui.

jfmessier
fonte
1

Desde o bluez 5.35 (setembro de 2015), deve ser suficiente modificar o arquivo de configuração /etc/bluetooth/main.confativando AutoEnable=true.

Para emparelhar um novo dispositivo a partir de um terminal (supondo que esse 01:02:03:04:05:06seja o endereço mac do dispositivo que você está tentando parear):

$ 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
fonte
Sim, a parte da confiança é o que fez a diferença para eu poder me reconectar automaticamente na inicialização.
P1l0t
0

Eu comprei um teclado bluetooth e cheguei nesta página aqui e tentei o que ryandlf e o que Ch.Idea sugeriu. Não deu certo. Após algumas análises e testes, encontrei essa combinação:

Primeiro, como os caras sugeriram, tente conectar o dispositivo manualmente a partir da GUI. Certifique-se de que funciona. Depois desconecte-o e desligue-o. Vamos começar de novo manualmente então.

Obtenha privilégios de root:

su

Então:

hcitool scan

pressione simultaneamente os botões ou o que quer que esteja no dispositivo e verifique se ele foi descoberto. Se descoberto, deve imprimir um endereço, por exemplo, 20: 73: 00: 01: 90: 65 e uma descrição do dispositivo, por exemplo, teclado Bluetooth. Pegue esse endereço na área de transferência.

Em seguida, estamos prontos para conectar. TODOS EM TODA A INTERNET SUGEREM ESCONDIDOS, O QUE É ENGANOSO, pois não está mais presente. É por isso que eu não consegui fazer isso funcionar por tanto tempo ... Depois de olhar para o homem do hcitool, encontrei muitos comandos úteis e não havia necessidade de usar o dbus ou o que seja. Então, para conectá-lo, emitimos:

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

e é isso.

As experiências mostraram que ele se reconecta automaticamente quando eu desliguei temporariamente o dispositivo.

PARTE 2.

Eu também criei um serviço, como os caras sugeriram em outras respostas. Primeiro, criei um arquivo /etc/init.d/keyboard, com este conteúdo:

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

Então, como root:

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

É isso aí. Espero que ajude.

Ah, e é o Debian 9.

Leonid Titov
fonte