Як я можу мати автоматичне підключення клавіатури Bluetooth при запуску?


10

У мене є HTPC клавіатура Bluetooth. Я з'єдную його з комп'ютером через 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

Відповіді:


11

Ця відповідь виходить з підручника, написаного Ендрю Мартіном на thetechdepo.com. Дивіться посилання нижче для оригінальної публікації, однак це повна перезапис. Він написаний спеціально для яблучної клавіатури, однак я використовував його для декількох пристроїв, так що це не яблуко чи клавіатура. Просто дотримуйтесь інструкцій, і ви отримаєте будь-який Bluetooth-пристрій для автоматичного підключення в Ubuntu.

Перейдіть у Налаштування системи> Bluetooth та дотримуйтесь інструкцій, щоб додати нещодавно підключений Bluetooth-пристрій.

Виконайте вказівки та введіть штифт за запитом, а потім після підключення та роботи пристрою вимкніть пристрій. Тепер на частину автоматичного підключення.

Відкрийте свій термінал і введіть такі команди:

$ 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

Перезавантажте комп’ютер, і ваш пристрій повинен автоматично підключатися і працювати, без цього вам нічого робити.

Я сподіваюся, що це допомагає небагатьом людям, мені знадобилося багато часу, щоб знайти рішення моєї проблеми, і я хотів цементувати цей підручник трохи глибше в Інтернеті.

Оригінальне посилання можна знайти тут .


Я вважаю, що hidd тепер застарілий як bluez 4.0 на користь udev, згідно з /usr/share/docs/bluez/NEWS.Debian.gz, але я не можу знайти жодної документації, як це зробити без bluez-compat.
tu-Reinstate Monica-dor duh

3

Я також спробував відповісти 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 автоматично.


$ sudo update-rc.d keyboard defaults insserv: script keyboard is not an executable regular file, skipped!Щоб вирішити, я виконав sudo chmod +x /etc/init.d/keyboard. Потім я виступав sudo update-rc.d keyboard defaults. Отримане попередження: insserv: warning: script 'keyboard' missing LSB tags and overrides.
orschiro

Про що sudo service keyboard enable?
orschiro

Так, ти зробив правильно chmod +x.
Ч.Ідея

Помилка відсутності тегів LSB може бути проігнорована і не дуже важлива в цьому завданні. Якщо ви хочете, виконайте пошук у Google за допомогою googling та вставте зверху файл. Вони в простій формі.
Ч.Ідея

1

У мене була дуже схожа проблема з клавіатурою Apple BlueTooth. Я купив його, бо любив відчуття ключів. Однак я не зміг тримати це на зв’язку. Здається, проблема полягала в ідентифікації клавіатури. Після того, як він був узгоджений з фактичним комп'ютером MAC, де він отримав фактичну назву, у мене більше не виникало проблем із підключенням його до Linux або Windows. Моя дружина зараз користується ним без проблем.

Я не знаю, як це можна перенести у вашій ситуації, але це може бути відправною точкою. З боку інших друзів, схоже, головне питання тут - ідентифікація пристрою.


1

Оскільки 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

Так, довірча частина - це те, що змінило для мене можливість автоматичного підключення при запуску.
p1l0t

0

Я купив клавіатуру Bluetooth і приземлився на цій сторінці тут, і спробував, що ryandlf і що запропонувала Ch.Idea. Це не спрацювало. Після деяких аналізів та випробувань я виявив таке поєднання:

Спочатку, як запропонували хлопці, спробуйте підключити пристрій вручну від GUI. Переконайтесь, що це працює. Потім відключіть його та вимкніть. Ми почнемо спочатку вручну.

Отримайте привілеї root:

su

Тоді:

hcitool scan

і одночасно натискати кнопки чи що завгодно на пристрої, і переконайтесь, що воно виявлено. Якщо його виявлять, він повинен надрукувати його адресу, наприклад, 20: 73: 00: 01: 90: 65, а також опис пристрою, наприклад, клавіатура Bluetooth. Візьміть цю адресу в буфер обміну.

Далі ми готові до підключення. КОЖНІ ВСІ НАД ІНТЕРНЕТ-ПІДГОТОВКАХ СХІДИ, ЯКІ НЕ БУДУТЬСЯ, ЯКЩО НЕ БУДЕ НЕ БУДЕ. Тому я не могла так довго змусити цю роботу ... Подивившись на людину з 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

Потім, як корінь:

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

Це воно. Сподіваюся, це допомагає.

О, це Debian 9.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.