domingo, 26 de noviembre de 2006

KAddressBook y teléfono móvil Sharp GX15

A la hora de pasar los datos de KAddressBook al móvil debemos ser conscientes de como se relaciona cada campo de una entrada de la agenda de KAddressBook con una entrada de la agenda del móvil. En la siguiente tabla se muestra dicha relación:

KAddressBookGX15
NombreNombre
ApellidosApellidos
Teléfono MóvilTel móvil privado
Teléfono del trabajoTel oficina
Teléfono del domicilioTel privado
Correo ElectrónicoCorreo electr prvado (solo guarda una única entrada de este tipo que es la última de las contenidas en KAddressBook)
CalleDirección
NotaInformación
FotografíaImagen

Lo primero que debemos hacer es exportar la agenda en KAddressBook como vCard 2.1 seleccionando "Exportar en varios archivos". El móvil solo soporta recibir ficheros que contengan información únicamente de un contacto. O lo que es lo mismo, no soporta una vCard que contenga varios contactos.

Existen algunas incompatibilidades que solventar. Para ello utilizamos el siguiente script guardándolo en un fichero con nombre "kaddressbook_vcf_to_gx15_vcf.sh".

#!/bin/sh

if [[ "$1" == "" || "$2" == "" ]] ; then
echo Usage: $0 input_file.vcf output_file.vcf
echo ""
else
if [ ! -r "$1" ] ; then
echo \""$1"\" file does not exists
else
# replace "ENCODING=b" with "ENCODING=BASE64"
sed 's/ENCODING=b/ENCODING=BASE64/g' "$1" > "$1_aux_1"

# replace "TYPE=image/jpeg" with "TYPE=JPEG"
sed 's/TYPE=image\/jpeg/TYPE=JPEG/g' "$1_aux_1" > "$1_aux_2"

# inserts a blank line after image data
awk '/^ / { image=1 } !/^ / && image > 0 { print "" ; image = 0 } { print }' "$1_aux_2" > "$2"

# delete temp files
rm "$1_aux_1"
rm "$1_aux_2"
fi
fi

Deberemos pasar este script a cada uno de los ficheros que exportemos. Por ejemplo, para pasar el script a todos los ficheros vCard contenidos en un directorio ejecutaremos lo siguiente:

for j in *.vcf ; do ./kaddressbook_vcf_to_gx15_vcf.sh $j $j ; done

Para enviar por Bluetooth del PC al móvil los ficheros VCF generados, podemos usar KBluetooth. En el explorador de ficheros Konqueror seleccionamos los ficheros a enviar y en el menú del botón derecho de ratón, dentro de "Acciones", tenemos la opción "Enviar por Bluetooth...". El problema de tener que hacerlo así es que en el móvil vamos a tener que aceptar cada contacto de la agenda.

Es posible que queramos eliminar del móvil todos los contactos antes de pasar los del PC. Para ello vamos a "Contactos" -> "Lista" -> "Opciones" -> "Avanzado" y seleccionamos "Borrar todas entr.". Nos pedirá un código de bloqueo que en mi caso tenía el valor por defecto "0000".

Enlaces de interés del teléfono móvil Sharp GX15

http://www.comunidad-sharp.net
http://gx15.sourceforge.net
http://www.sharp-phone.com
http://cihar.com/gammu/wammu/

Emparejamiento de dispositivos Bluetooth en Debian Testing

A partir de cierta versión del paquete "bluez-utils", cuando un dispositivo externo introduce la contraseña para emparejarse con el ordenador se produce un error. En el fichero "/var/log/syslog" se obtiene el mensaje "call_passkey_agent(): no agent registered".

En las siguientes páginas he encontrado información relativa a como tratar este problema: enlace 1, enlace 2.

El problema parece ser debido a que falta el binario "passkey-agent" en el paquete "bluez-utils".

Como solución temporal a este problema se puede editar el fichero "/etc/bluetooth/hcid.conf" y poner el valor "auto" a la variable "security". Tras este cambio se debe ejecutar el comando "/etc/init.d/bluetooth restart". De esta forma, el ordenador usará siempre el pin definido en el fichero "hcid.conf".

jueves, 26 de octubre de 2006

Uso del perfil serie de un dispositivo Bluetooth en Wine o Crossover Office

Los móviles que disponen de Bluetooth normalmente utilizan el perfil "Puerto Serie", que define el protocolo, para la sincronización de contactos y calendarios con el ordenador. Muchas veces, estos móviles solo disponen de aplicaciones windows para realizar esta sincronización. Para gente que únicamente utiliza Linux en su escritorio es posible conseguir que estas aplicaciones funcionen con Wine o Crossover Office y que sea posible tener acceso al dispositivo serie Bluetooth configurado en Linux.

El primer paso consistiría en instalar la aplicación de sincronización que viene con el móvil en Wine y Crossover Office y comprobar que finaliza la instalación y arranca correctamente. Todo esto a falta de configurar en la aplicación el puerto serie a través del que se va a comunicar con el móvil por Bluetooth.

El siguiente paso consiste en conectarse al perfil serie del dispositivo Bluetooth. Para ello activamos el Bluetooth en el dispositivo y ejecutamos el siguiente comando:

hcitool scan

Este comando nos mostrará las direcciones físicas de los dispositivos Bluetooth que se detecten. Una vez que tenemos la dirección del dispositivo con el siguiente comando veremos los servicios que tiene disponibles:

sdptool browse <dirección física>

De la salida obtenida en este comando nos debemos fijar si existe una entrada cuyo "Service Name" sea del tipo "Serial Port". Y si existe esta entrada, debemos ver en que canal (Channel) se encuentra para realizar el siguiente paso.

El siguiente paso consiste en la conexión del ordenador al dispositivo Bluetooth usando el perfil Puerto Serie. Tras realizar este paso se creará en el ordenador un fichero de dispositivo equivalente a un puerto serie que se comunica directamente con el dispositivo Bluetooth. Para ello se debe ejecutar el siguiente comando:

rfcomm connect <identificador dispositivo> <dirección física> <canal>

El campo "identificador dispositivo" es el identificador secuencial que se le asocia al fichero de dispositivo creado en el ordenador. Por ejemplo, si se elije el 0, en el sistema de ficheros se creará el dispositivo "/dev/rfcomm0". Tras ejecutar este comando, se debe comprobar que se ha creado correctamente el fichero de dispositivo adecuado. Ejecutando sin parámetros el comando "rfcomm" obtenemos información de las conexiones que tenemos realizadas a dispositivos Bluetooth.

El último paso es la creación de un alias a este dispositivo Puerto Serie en la configuración de Wine. Para ello nos vamos al directorio "$HOME/.wine/dosdevices" y creamos el siguiente enlace:

ln -s /dev/rfcomm0 com8

De esta forma, hemos conseguido que los programas de Wine puedan usar el COM8 para conectarse con un dispositivo Bluetooth. Por ejemplo, si el dispositivo es un móvil, podremos configurar su aplicación para la sincronización de los contactos en el puerto COM8 y deberá funcionar sin problemas.

En el caso de usar Crossover Office, en el último paso deberemos crear el enlace para el dispositivo COM en el directorio ".cxoffice/<bottle>/dosdevices/", donde <bottle> es una instancia determinada de una instalación de windows en la nomenclatura de Crossover.

martes, 24 de octubre de 2006

Problemas de impresión en KDE en Debian Testing

Tras la última actualización a la versión 3.5.5 de KDE, cuando accedía a las impresoras obtenía el siguiente error:

'An error occurred while retrieving the printer list; Connection to CUPS server failed. Check that the CUPS server is correctly installed and running. Error: localhost read failed (15)'

Para solucionarlo se debe ir a "Centro de Control" -> "Periféricos" -> "Impresoras" -> "Administrador de Impresión" -> "Servidor CUPS", y cambiar el nombre de la máquina de "localhost" a "127.0.0.1".

martes, 17 de octubre de 2006

Cliente de DNS dinámico en Debian GNU / Linux

El uso de un proveedor de DNS dinámico permite que la gente que no dispone de una IP estática pueda acceder a su ordenador usando un nombre asociado a su IP dinámica. Para ello se tendrá un proceso corriendo que actualizará en el servidor de DNS dinámico la IP del equipo.

Lo primero que se debe hacer es darse de alta en algún proveedor que disponga de esta característica de forma gratuita. En este caso vamos a usar http://www.dyndns.com. Nos debemos crear un "Host" de tipo DNS dinámico al cual le tendremos que asignar un nombre. Te da la opción de elegir entre un montón de dominios disponibles para asociar al nombre de equipo que hayamos elegido.

Una vez hecho esto el siguiente paso es configurar nuestro sistema. Para ello ejecutamos:

dpkg-reconfigure ddclient

Se mostrará una pantalla que nos irá pidiendo la información relativa a nuestra cuenta en el proveedor de DNS dinámico.

Después nos pedirá la interfaz de red que se quiere usar para asignar su IP al nombre de equipo que tenemos configurado en el proveedor de DNS dinámico. Si se usa un modem ADSL o un modem convencional esta opción puede ser válida, ya que la interfaz tendrá la IP que le haya asignado el proveedor de Internet. Pero si se usa un router, la IP de la interfaz de red del equipo tendrá una IP de la intranet que crea el router, con lo que este campo no sirve para nada y se puede poner cualquier cosa.

En el siguiente paso nos pregunta si queremos que se actualice la IP en el proveedor de DNS dinámico cada vez que se cree una conexión PPP configurada en el sistema. Como en el caso anterior, esto solo es válido si se dispone de una conexión con modem. En caso de disponer de un router seleccionamos "No"

En el siguiente paso se debe seleccionar si queremos que el programa "ddclient" se ejecute como demonio. Se deberá seleccionar "Si" si disponemos de un router o "No" si disponemos de un modem. Y por último nos pregunta cada cuando tiempo el demonio comprobará la IP de nuestra máquina.

Se generarán automáticamente los ficheros:

/etc/default/ddclient
/etc/ddclient.conf

Por último, si disponemos de un router, debemos cambiar en el fichero "/etc/ddclient.conf" la línea:

use=if, if=XXX

por la siguiente línea:

use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address

De esta forma, el demonio en vez de comprobar el valor de la IP de una interfaz de red, obtendrá el valor de la IP en la web indicada.

Con esto queda preparado nuestro sistema para ser accesible en todo momento desde cualquier sitio sin tener que conocer su IP, símplemente usando el nombre que se le ha asignado.

jueves, 21 de septiembre de 2006

Problemas de impresión en Firefox en Debian Testing

Si cuando se va a imprimir aparece el mensaje "There was a problem printing because the paper size you specified is not supported by your printer." la solución pasa por borrar el directorio de configuración de Firefox "$HOME/.mozilla". Se debe borrar cerrando previamente todos los navegadores que se tengan abiertos. Cuando se vuelva a arrancar el navegador se volverá a crear este directorio con toda la información necesaria.

Previamente es interesante hacer una copia de seguridad de ciertos datos que se encuentran en este directorio. Por ejemplo, el directorio "plugins" y el fichero "bookmarks.html". Una vez se tenga creado de nuevo el directorio de configuración se puede volver a cerrar el navegador y copiar en su sitio los ficheros y directorios de los que hemos hecho copia de seguridad.