Connessione automatica di apparato bluetooth all’avvio di un Linux Debian/Ubuntu based

Non capiterà a molti, ma può succedere di avere un mouse o una tavoletta di puntamento collegati via bluetooth al vostro sistema Ubuntu, o Linux bastato su Debian/Ubuntu in generale.

Come avrete sperimentato, si deve: avviare il demone bluetooth a mano e fargli riconoscere e fare il paring la prima volta con l’apparecchio.
La cosa noiosa, è che ad ogni riavvio del sistema si deve
  1. partire con un mouse usb collegato
  2. attivare la connessione dell’apparecchio bluetooth a mano tramite l’icona in basso a destra
  3. scollegare il mouse usb.
 
Beh questo non è del tutto vero: esiste, come quasi sempre, una soluzione per automatizzare la connessione del vostro apparato bluetooth all’avvio del sistema, ed ora vediamo come.
Innanzi tutto ci serve che sia installato il pacchetto bluez-compat:possiamoinstallarlo sia dal gestore pacchetti o più velocemente, secondo me, dalla console lanciando il solito comando sudo apt-get install bluez-compat.
Fatto questo dobbiamo conoscere l’indirizzo MAC(1)dell’apparecchio che ci interessa. Se abbiamo già collegato una volta l’apparecchio in questione possiamo ricavarlo direttamente dal gestore bluetooth: aprendolo troviamo le informazioni riguardante l’apparecchio con incluso il suo indirizzo MAC(1)tipo 28:37:37:2B:0E:26. Attenzione: a volte l’indirizzo MAC(1)viene proposto come 28-37-37-2B-0E-26. Fosse anche sostituite, nel prossimo passaggio il carattere (meno) con il carattere (due punti)ed andrà benissimo.
Se non riusciamo a trovarloin questo modo possiamo farlo usando il comando hidddalla console, eseguite:
hidd –search
Che vi darà una lista degli apparati bluetooth collegati almeno una volta al sistema. Se non lo trovate nemmeno li cercatelo tramite il comando dmesgsempre da console.
A questo punto dobbiamo modificare il file /etc/rc.localperché questo file si occupa di caricare quello che indichiamo durante il boot del sistema.
 
Il file, se non lo avete mai modificato si presenterà così:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0” on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
 
Exit 0
 
Come dice la riga, nel file stesso questo scritp, così com’è non fa nulla, ma modificandolo aggiungendo la riga :
hidd –server –connect 28:37:37:2B:0E:26
PRIMAdella riga finale che riporta Exit 0farà esattamente quello che ci serve, ossia attiverà il nostro apparecchio bluetooth automaticamente: questo eviterà la noiosa procedura del dover avviare il nostro Linux con un mouse usb collegato, collegare a mano il nostro apparato bluetooth ed infine scollegare il mouse usb. Dopo la nostramodifica il file /etc/rc.local apparirà così:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0” on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
 
hidd –server –connect 28:37:37:2B:0E:26
 
exit 0
 
Come vedete l’unica, ma sostanziale, differenza è la riga in cui viene chiamato il comando hidd –server –connect xx:xx:xx:xx:xx:xx.
NOTA: l’indirizzo MAC(1)che ho usato, 28:37:37:2B:0E:26, è chiaramente quello del mio apparato; voi dovrete usare quello che avete rilevato dal vostro sistema in quanto collegato al vostro apparato.
E questo è tutto: da questo momento al riavvio, se l’apparato bluetooth sarà acceso, il sistema lo riconoscerà e di conseguenza lo renderà attivo e disponibile. 
JC