Как я могу автоматически подключиться к клавиатуре Bluetooth при запуске?

У меня есть блютуз клавиатура для моего HTPC. Я подключаю его к компьютеру через Bluetooth, и он работает нормально. Однако, когда я выключаю клавиатуру или компьютер, он должен снова подключиться (что требует ввода пароля на компьютере и клавиатуре), когда я снова включаю их. Я просмотрел множество форумов и через это обнаружил, что мне не хватает некоторых, казалось бы, важных файлов Bluetooth:

/etc/default/bluetooth

/etc/init.d/bluetooth

/etc/bluetooth/hcid.conf

В инструкциях, которые я нашел в Интернете до сих пор, я должен изменить некоторые строки в любом из этих файлов. Я не в состоянии, так как они не существуют.

Мне не хватает зависимости или чего-то еще? Я также пытался установить Blueman, но это не помогло.

Я использую Ubuntu 10.10 (Maverick).

Исходное сообщение: http://ubuntuforums.org/showthread.php?t=1643386&highlight=bluetooth

10
задан 15 December 2010 в 06:53

5 ответов

Этот ответ взят из учебника, написанного Эндрю Мартином на thetechdepo.com. См. Ссылку ниже на исходный пост, однако это полная переработка. Написан специально для яблочной клавиатуры,однако я использовал его для нескольких устройств, поэтому он не привязан к яблоку или клавиатуре. Просто следуйте инструкциям, и у вас будет автоматическое подключение любого устройства Bluetooth в Ubuntu.

Перейдите в Системные настройки> Bluetooth и следуйте инструкциям, чтобы добавить новое подключенное устройство Bluetooth.

Следуйте инструкциям и введите PIN-код по запросу, затем после того, как устройство подключено и заработает, выключите его. Теперь перейдем к части автоматического подключения.

Откройте свой терминал и введите следующие команды:

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

Последняя команда отобразит выходные данные для вашего устройства, например:

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

Установите новый пакет, позволяющий подключать Bluetooth через командная строка.

$ sudo apt-get install bluez-compat

После этого у вас будет установлена ​​программа hidd. На этом этапе включите клавиатуру и введите следующую команду. Он выведет MAC-адрес вашей клавиатуры, который вам нужно будет скопировать и вставить в следующую команду, как показано ниже:

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

Теперь мы должны создать файл запуска для автоматического подключения устройства при запуске компьютера. Через терминал ...

$ gedit ~/.keyboard.sh

Введите следующий текст, заменив AA: BB: CC: DD: EE: FF идентификатором оборудования, который вы видели выше. Наконец, сохраните файл.

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

Теперь создайте новый файл запуска. Замените любое имя устройства словом «клавиатура». Это просто имя файла.

$ sudo gedit /etc/init.d/keyboard

Вставьте следующее, которое сообщает вашей Ubuntu запускать файл, который вы только что создали, при запуске.

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

exit 0

Теперь установите права доступа для обоих файлов как исполняемые через терминал.

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

Перезагрузите компьютер. и ваше устройство должно автоматически подключаться и работать без каких-либо дополнительных действий.

Я надеюсь, что это поможет некоторым людям, мне потребовалось много времени, чтобы найти решение моей проблемы, и я хотел закрепить это руководство немного глубже в Интернет.

Исходную ссылку можно найти здесь .

12
ответ дан 15 December 2010 в 06:53

Я тоже попробовал ответить ryandlf сам, но нашел другую простую настройку, которая в конечном итоге выполнит ту же работу.

Основная идея заключается в том, что как только удаленное устройство подключено и доверено, hcitool spinq будет инициировать периодический запрос, который позволит подключить все доступные устройства.

Сначала запустите sudo Bluetoothctl -a и выполните шаги ниже. Это из вики ArchLinux , но доказано, что они работают так же и в Ubuntu.

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

Последняя команда покажет все доступные (ожидающие сопряжения) клавиатуры Bluetooth, подобные этой.

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

Обратите внимание на адрес вашей клавиатуры и продолжайте.

[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

Теперь поместите этот простой сценарий в /etc/init.d/keyboard

#! /bin/sh
sudo hcitool spinq
exit 0

Затем выполните их.

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

Вот и все. Теперь всякий раз, когда вы включаете клавиатуру Bluetooth, она автоматически подключается к Linux.

3
ответ дан 15 December 2010 в 06:53

Начиная с bluez 5.35 (сентябрь 2015 г.), этого должно быть достаточно, чтобы изменить файл конфигурации /etc/bluetooth/main.conf , включив AutoEnable = true .

Для сопряжения нового устройства с терминала (предполагается, что 01: 02: 03: 04: 05: 06 - это MAC-адрес устройства, на котором вы пытается выполнить сопряжение):

$ 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
ответ дан 15 December 2010 в 06:53

У меня была очень похожая проблема с клавиатурой Apple BlueTooth. Я купил ее, потому что мне нравилось ощущение клавиш. Тем не менее, я не мог держать ее на связи. Проблема, похоже, заключалась в идентификации клавиатуры. Как только клавиатура была сопоставлена с реальным MAC-компьютером, где она получила настоящее имя, у меня больше не было проблем с подключением к Linux или Windows. Теперь моя жена пользуется им без проблем.

Не знаю, как это можно перенести в вашу ситуацию, но это может быть отправной точкой. От других друзей кажется, что здесь основная проблема - это идентификация устройства.

1
ответ дан 15 December 2010 в 06:53

Я купил клавиатуру bluetooth, попал на эту страницу и попробовал, что предлагал ryandlf и что Ch.Idea. Это не сработало. После некоторого анализа и испытаний я нашел такую ​​комбинацию:

Сначала, как предложили ребята, попробуйте подключить устройство вручную через графический интерфейс. Убедитесь, что это работает. Затем отключите его и выключите. Тогда мы начнем сначала вручную.

Получите привилегии root:

su

Затем:

hcitool scan

и одновременно нажмите кнопки или что-то еще на устройстве, и убедитесь, что оно обнаружено. Если обнаружено, он должен напечатать его адрес, например 20: 73: 00: 01: 90: 65 и описание устройства, например Bluetooth-клавиатура. Захватите этот адрес в буфер обмена.

Теперь мы готовы к подключению. ВСЕ В ИНТЕРНЕТЕ ПРЕДЛАГАЮТ УКАЗАТЬ, ЧТО НЕВЕРНО, КАК ЕГО НЕТ НИКАКОГО. Вот почему я не мог так долго работать с этой задачей ... Посмотрев на man of hcitool, я обнаружил множество полезных команд, и не было необходимости использовать dbus или что-то еще. Итак, чтобы подключить его, мы вводим:

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

и все.

Эксперименты показали, что он даже автоматически повторно подключается, когда я временно выключил устройство.

ЧАСТЬ 2.

Я также создал службу, как ребята предложили в других ответах. Сначала я создал файл /etc/init.d/keyboard с таким содержанием:

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

Затем, как root:

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

Вот и все. Надеюсь, это поможет.

О, и это Debian 9.

1
ответ дан 23 November 2019 в 04:26

Другие вопросы по тегам:

Похожие вопросы: