Si disponeis de un movil con Bluetooth/Java y un dispositivo bluetooth en el ordenador, con Kanyremote podeis manejar el ordenador como si de un mando a distancia se tratase. Ideal para realizar presentaciones, pases de fotografias ó manejar el reproductor de música desde el sofá.

Kanyremote no requiere ninguna configuración especial, simplemente se ejecuta y permanece en la bandeja del sistema. Desde él podeis seleccionar/editar alguno de los script que trae la instalación y que permiten manejar Amarok, Digikam, kaffeine, Xine, etc… incluso dispone de scripts que permiten navegar por el sistema de archivos desde el movil como si lo hicieseis desde una consola ó controlar el puntero del raton o las entradas de teclado (esto último no sé muy bien para que) via Xautomation.

NOTA: Estos pasos están hechos sobre openSuse 10.2, sobre KDE 3.5.6 (último release), y con las últimas versiones de Kbluetoothd (0.99 beta 1) y Kanyremote (2.9.1) y para un movil Nokia 6103

La complicación puede venir por la correcta configuración del Bluetooth. En mi caso me dió alguna guerra conseguir que el movil «viese» al ordenador. Podía enviar documentos desde el ordenador al movil sin problemas, pero no a la inversa. Al final conseguí modificando y activando el archivo de configuración de RFCOMM en /etc/bluetooth/rfcomm.conf
rfcomm0 {
bind yes;
device 11:22:33:44:55:66;
channel 10;
comment "Mi nokia 6103";
}

el valor de «device» es el obtenido en una consola con:
hcitool scan

Tuve que modificar tambien la configuración que trae por defecto HCI en openSuse 10.2 para cambiar la forma en que HCI guarda el PIN de acceso al movil. Edita el archivo /etc/bluetooth/hcid.conf y en la linea donde aparece el número PIN para conectar al movil (passkey «1234»;) poneis
pin_helper /etc/bluetooth/PIN;
A continuación creais un simple archivo de texto conteniendo únicamente vuestro número PIN de paso al movil y lo guardais en /etc/bluetooth/PIN
Reiniciad el servicio bluetooth:
su
/etc/init.d/bluetooth restart

y comprobad que el puerto y al conexion están abiertos, al escribir en consola:
rfcomm
#devuelve algo como
rfcomm0: 00:16:BC:09:4F:D3 channel 10 clean

Comprobad tambien que el servicio Bluetooth se inicia al arrancar la máquina
YAST -> Sistema -> Editor de Niveles de ejecución -> Bluetooth -> Si

kanyremote conectado

Con estos pasos bastaría para que la comunación ordenador-movil funcione perfectamente en ambos sentidos. Descargad al movil la aplicación Java que se comunica con Kanyremote anyremote.jar y ejecutadla teniendo iniciado en KDE tanto Kbluetoothd como Kanyremote. Ejecutad en el movil el programa anyremote. Este escanea los dispositivos que se encuentren dentro de su radio de accion (+/- 10 metros) y los lista en pantalla, si aparecen varios seleccionad «(nombre-de-vuestro-Linux) serial port». Kbluetoothd se enciende y Kanyremote ejecuta el script que tengais seleccionado, listo, ya podeis controlar amarok desde el sofá.


Por si os sirve de algo estos son mis archivos de configuracion
/etc/bluetooth/hcid.conf
options {
autoinit yes;
security auto;
pairing multi;
pin_helper /etc/bluetooth/PIN;
}
device {
name "BlueZ %h (%d)";
class 0x100000;
iscan enable;
pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}

/etc/bluetooth/rfcomm.conf
rfcomm0 {
bind yes;
device 11:22:33:44:55:66;
channel 10;
comment "Nokia Alberto";
}

/etc/sysconfig/bluetooth
############ general
## Path: Hardware/Bluetooth
## Description: General settings for the Bluetooth device, if set to 'yes' bluetooth is started when hotplug reports 'added bluetooth device'
## Type: yesno
## Default: no
## ServiceRestart: bluetooth
START_SERVICES="yes"
## Path: Hardware/Bluetooth
## Description: General settings for the Bluetooth system, if set to 'yes' bluetooth is stopped when a hotplug records 'removed bluetooth device', no matter if there are still active devices left
## Type: yesno
## Default: no
## ServiceRestart: bluetooth
ALWAYS_STOP_SERVICES="no"
############ HCID
## Path: Hardware/Bluetooth
## Description: Start responsible demon for managing Bluetooth hciX-devices
## Type: yesno
## Default: yes
## ServiceRestart: bluetooth
HCI_START="yes"
## Path: Hardware/Bluetooth
## Description: Set responsible demon for managing Bluetooth hciX-devices
## Type: list("/usr/sbin/hcid","")
## Default: "/usr/sbin/hcid"
## ServiceRestart: bluetooth
HCI_DAEMON="/usr/sbin/hcid"
## Path: Hardware/Bluetooth
## Description: Arguments for hci-demon
## Type: string("-f /etc/bluetooth/hcid.conf")
## Default: "-f /etc/bluetooth/hcid.conf"
## ServiceRestart: bluetooth
HCI_DAEMON_ARGS=" -f /etc/bluetooth/hcid.conf"
############ SDP
## Path: Hardware/Bluetooth
## Description: Start responsible demon for incoming service queries
## Type: yesno
## Default: yes
## ServiceRestart: bluetooth
SDP_START="yes"
## Path: Hardware/Bluetooth
## Description: Set responsible demon for incoming service queries
## Type: list("/usr/sbin/sdpd","")
## Default: "/usr/sbin/sdpd"
## ServiceRestart: bluetooth
SDP_DAEMON="/usr/sbin/sdpd"
## Path: Hardware/Bluetooth
## Description: Arguments for sdp-demon start
## Type: list("","-n")
## Default: ""
## ServiceRestart: bluetooth
SDP_DAEMON_ARGS=""
############ OPD
## Path: Hardware/Bluetooth
## Description: Start responsible demon for obex push queries
## Type: yesno
## Default: no
## ServiceRestart: bluetooth
OPD_START="no"
## Path: Hardware/Bluetooth
## Description: Set responsible demon for obex push queries
## Type: list("/usr/bin/opd","")
## Default: "/usr/bin/opd"
## ServiceRestart: bluetooth
OPD_DAEMON="/usr/bin/opd"
## Path: Hardware/Bluetooth
## Description: Arguments for opd-demon start
## Type: list("--mode OBEX --channel 10 --sdp --daemonize --path /var/lib/bluetooth/opd","--sdp")
## Default: "--mode OBEX --channel 10 --sdp --daemonize --path /var/lib/bluetooth/opd"
## ServiceRestart: bluetooth
OPD_DAEMON_ARGS="--mode OBEX --channel 10 --sdp --daemonize --path /var/lib/bluetooth/opd"
############ RFCOMM
## Path: Hardware/Bluetooth
## Description: Start responsible service for rfcomm
## Type: yesno
## Default: no
## ServiceRestart: bluetooth
RFCOMM_START="yes"
## Path: Hardware/Bluetooth
## Description: Set responsible service for rfcomm
## Type: list("/usr/bin/rfcomm","")
## Default: "/usr/bin/rfcomm"
## ServiceRestart: bluetooth
RFCOMM_DAEMON="/usr/bin/rfcomm"
## Path: Hardware/Bluetooth
## Description: Arguments for rfcomm-service start
## Type: list("-f /etc/bluetooth/rfcomm.conf bind all","")
## Default: "-f /etc/bluetooth/rfcomm.conf bind all"
## ServiceRestart: bluetooth
RFCOMM_DAEMON_ARGS="-f /etc/bluetooth/rfcomm.conf bind all"
############ PAND
## Path: Hardware/Bluetooth
## Description: Start responsible demon for Personal Area Network
## Type: yesno
## Default: no
## ServiceRestart: bluetooth
PAND_START="no"
## Path: Hardware/Bluetooth
## Description: Set responsible demon for Personal Area Network
## Type: list("/usr/bin/pand","")
## Default: "/usr/bin/pand"
## ServiceRestart: bluetooth
PAND_DAEMON="/usr/bin/pand"
## Path: Hardware/Bluetooth
## Description: Arguments for pan-demon start
## Type: list("--listen --role NAP")
## Default: "--listen --role NAP"
## ServiceRestart: bluetooth
PAND_DAEMON_ARGS="--listen --role NAP"
############ DUND
## Path: Hardware/Bluetooth
## Description: Start responsible demon for LAN Access over PPP
## Type: yesno
## Default: no
## ServiceRestart: bluetooth
DUND_START="no"
## Path: Hardware/Bluetooth
## Description: Set responsible demon for LAN Access over PPP
## Type: list("/usr/bin/dund","")
## Default: "/usr/bin/dund"
## ServiceRestart: bluetooth
DUND_DAEMON="/usr/bin/dund"
## Path: Hardware/Bluetooth
## Description: Arguments for dun-demon start
## Type: list("--listen --persist")
## Default: "--listen --persist"
## ServiceRestart: bluetooth
DUND_DAEMON_ARGS="--listen --persist"
############ HIDD
## Path: Hardware/Bluetooth
## Description: Start responsible demon for HID Daemon
## Type: yesno
## Default: no
## ServiceRestart: bluetooth
HID_START="yes"
## Path: Hardware/Bluetooth
## Description: Set responsible demon for HID
## Type: list("/usr/bin/hidd","")
## Default: "/usr/bin/hidd"
## ServiceRestart: bluetooth
HID_DAEMON="/usr/bin/hidd"
## Path: Hardware/Bluetooth
## Description: Arguments for hid-demon start
## Type: list("--server", "")
## Default: "--server"
## ServiceRestart: bluetooth
HID_DAEMON_ARGS="--server"
############ HID2HCI
## Path: Hardware/Bluetooth
## Description: Start HID to HCI mode switching utility
## Type: yesno
## Default: no
## ServiceRestart: bluetooth
HID2HCI_START="no"
## Path: Hardware/Bluetooth
## Description: Set responsible utility for HID to HCI mode switching
## Type: list("/usr/bin/hidd","")
## Default: "/usr/sbin/hid2hci"
## ServiceRestart: bluetooth
HID2HCI_DAEMON="/usr/sbin/hid2hci"
## Path: Hardware/Bluetooth
## Description: Arguments for RHID to HCI mode switching utility
## Type: list("--tohci", "")
## Default: "--tohci"
## ServiceRestart: bluetooth
HID2HCI_DAEMON_ARGS="--tohci "