Datos personales

miércoles, 29 de septiembre de 2010

Xmarks cierra el servicio

Parece que toca de nuevo cambiar de sistema de sincronización entre navegadores :-(

Las nuevas opciones que van surgiendo sobre Firefox y Chrome acaban con Xmarks.

La verdad es que es una lástima, ya que las alternativas que quedan son específicas para cada navegador:

(Vía http://blog.xmarks.com/?p=1886)

martes, 28 de septiembre de 2010

El Hotel Ryugyong

Vía Alt1040 supe de la existencia del Hotel Ryugyong, un desbarre típico de los regímenes comunistas.

Por curiosidad, lo busqué en Google Maps. La imagen que se obtiene parece sacada del juego Sim City:

domingo, 26 de septiembre de 2010

Dropbox: Crear paquete para Debian Lenny

Actualización (29/10/2011): Debian ya es una distribución oficialmente soportada.


El paquete actual de Dropbox para Ubuntu no instala en Debian Lenny debido a problemas de dependencias con libnautilus-extension1:

dpkg: problemas de dependencias impiden la configuración de nautilus-dropbox:
libnautilus-extension1 (>= 1:2.22.2); sin embargo:
La versión de `libnautilus-extension1' en el sistema es 2.20.0-7.


Vamos a generar un paquete Debian a partir del código fuente disponible en la sección de descargas de Dropbox.

Cumplimentamos los requisitos previos:

$ sudo aptitude install libnautilus-extension-dev \
python-docutils checkinstall


Descomprimimos el código fuente y configuramos el paquete

$ tar -jxf nautilus-dropbox-0.6.3.tar.bz2
$ cd nautilus-dropbox-0.6.3
$ ./configure


Como root, lanzamos la utilidad checkinstall:

$ checkinstall --maintainer "Nombre Apellido \<nombre.apellido@ejemplo.es\>"


En el asistente que se iniciará, indicamos la descripción del paquete (Ejemplo: "Cliente Dropbox 0.6.3 para Debian Lenny"); una vez hecho esto, se nos presentará el menú principal, donde podremos ajustar el resto de parámetros de configuración. Es recomendable fijar las dependencias apropiadas (sección "Requires") con estos valores:

libatk1.0-0 (>= 1.20.0), libc6 (>= 2.4), libcairo2 (>= 1.6.0), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.12.0), libnautilus-extension1 (>= 2.20.0), libpango1.0-0 (>= 1.20.1), python (>= 2.5), python-gtk2 (>= 2.12)


Seguimos adelante. Si todo va bien, obtendremos algo como esto:

Done. The new package has been installed and saved to
/tmp/nautilus-dropbox-0.6.3/nautilus-dropbox_0.6.3-1_i386.deb
You can remove it from your system anytime using:
dpkg -r nautilus-dropbox


Ahora ya podemos instalar el paquete

dpkg -i /tmp/nautilus-dropbox-0.6.3/nautilus-dropbox_0.6.3-1_i386.deb

e ir al Menú GNOME->Internet->Dropbox y lanzar el cliente. La primera vez que lo ejecutemos descargará el demonio y se sincronizarán los cambios desde el servidor.

Es necesario reiniciar Nautilus para que se activen dentro de la carpeta "Dropbox" las indicaciones visuales sobre el estado de sincronización y para tener disponible el menú contextual que permite, entre otras cosas, compartir ficheros y carpetas con otros usuarios.

Por último, si queremos liberar el espacio consumido por libnautilus-extension-dev y sus dependencias:
sudo aptitude purge libnautilus-extension-dev

NOTA: Si queremos actualizar el demonio, no basta con instalar un paquete .deb actualizado. Será necesario cerrar Dropbox, eliminar la carpeta ~/.dropbox-dist e iniciarlo de nuevo.

sábado, 25 de septiembre de 2010

Android: Depurando sobre HTC Magic en Debian Lenny

Siguiendo las instrucciones que se indican en el sitio para desarrolladores de Android me resultó imposible poder depurar programas sobre un dispositivo físico (en mi caso, un HTC Magic de Vodafone con Android 1.6).

Aunque las instrucciones son para Ubuntu, en teoría deberían poder aplicarse en Debian Lenny sin mayor problema, pero finalmente el comando adb devices siempre acaba mostrando lo mismo:


* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
???????????? no permissions


Evidentemente, se trataba de un problema con los permisos, porque, ejecutando el demonio con permisos de root, se obtiene lo siguiente:


# /opt/android-sdk/tools/adb root
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
adbd cannot run as root in production builds

$ /opt/android-sdk/tools/adb devices
List of devices attached
HT962KF05736 device


Solución


Matamos el demonio adb:

/opt/android-sdk/tools/adb kill-server

Creamos la regla /etc/udev/rules.d/51-android.rules con este contenido:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4",
ATTRS{idProduct}=="0c02", GROUP="adm", SYMLINK+="android%n"


El demonio udev debe recargar automáticamente el contenido de la regla.

Volvemos a probar, deberíamos obtener esto siempre que nuestro usuario pertenezca al grupo adm:

$ /opt/android-sdk/tools/adb devices
List of devices attached
HT962KF05736 device


Más información en:

jueves, 23 de septiembre de 2010

De VMware Workstation 7 a Virtualbox OSE

Resumen


Intentando importar en Virtualbox OSE una máquina virtual VMware Workstation 7 me he encontrado con una serie de problemas en la definición del hardware virtual.

Escenario


Sistema origen:
  • Host: Debian 5.0.6 (Lenny) / VMware Workstation 7.1.1  build-282343
  • VM: Windows XP SP3 (virtualHW.version = "7")
Sistema destino:
  • Host: Ubuntu 10.04 / VirtualBox OSE 3.1.6 r59338

Pasos


De forma esquemática, se trata de hacer lo siguiente:
  1. Desinstalar VMware tools (tampoco hay problema por suprimirlas una vez tienes la VM corriendo en Virtualbox).
  2. Exportar la VM empleando la herramienta ovftool (http://www.vmware.com/support/developer/ovf/)
  3. Ajustar el hardware virtual (detalles más abajo)
  4. Importar la VM en Virtualbox
  5. Instalar las "guest additions" de Virtualbox.

Conversión a OVF

Ejecutamos:

/usr/lib/vmware/ovftool/ovftool /camino/a/VM/WinXP-SP3Pro.vmx /tmp/WinXP-SP3Pro.ovf


Problemas encontrados

"Unkown resource type"


El primer error aparece en este pantallazo:


Parece ser que no le gustaba la tarjeta de sonido. La he eliminado del hardware virtual editando el fichero .ovf para suprimir esta sección:


<Item ovf:required="false">
<rasd:AddressOnParent>3</rasd:AddressOnParent>
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
<rasd:Description>Sound Card</rasd:Description>
<rasd:ElementName>sound</rasd:ElementName>
<rasd:InstanceID>11</rasd:InstanceID>
<rasd:ResourceSubType>
vmware.soundcard.ensoniq1371
</rasd:ResourceSubType>
<rasd:ResourceType>1</rasd:ResourceType>
</Item>


Múltiples controladoras de disco


Por alguna razón, la máquina exportada incluía varias controladoras de disco IDE y parece ser que Virtualbox no soporta este tipo de configuración hardware.

Para solucionarlo hay que eliminar una de ellas, asegurándose de que no quede ningún dispositivo IDE huérfano.

En mi caso, he eliminado la controladora con el número de instancia 5:


<Item>
<rasd:Address>1</rasd:Address>
<rasd:Description>IDE Controller</rasd:Description>
<rasd:ElementName>ideController1</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceType>5</rasd:ResourceType>
</Item>


Por lo tanto, será necesario cambiar el "Parent" de los dispositivos de la instancia 5. En mi caso, sólo había un CDROM:


<Item>
...
<rasd:ElementName>cdrom1</rasd:ElementName>
<rasd:InstanceID>9</rasd:InstanceID>
-<rasd:Parent>5</rasd:Parent>
+<rasd:Parent>6</rasd:Parent>
<rasd:ResourceType>15</rasd:ResourceType>
...
</Item>


Ajustes en el "manifest" de la VM


Existe un fichero con la extensión .mf que almacena las sumas SHA-1 del fichero .ovf y del fichero que contiene el disco virtual.

Al haber modificado el fichero .ovf es necesario recalcular la suma y corregirla en el fichero .mf. Esto no presenta mayor problema ya que en cualquier distribución GNU encontrarás un paquete con la utilidad apropiada.