martes, noviembre 11, 2008

Instalar Blurb BookSmart en Ubuntu linux

Ando a vueltas últimamente con hacerme un par de álbumes de fotos impresos. Hoy en día hay un montón de empresas que te ofrecen programas para poder componer un álbum, enviarlo por internet y recibirlo impreso directamente en tu casa. El problema es el de siempre, los programas que usan están hechos sólo para windows y en algunas ocasiones para Mac. Después de mucho dar vueltas y probar llegué a través de un amigo maquero a la web de Blurb. Que tiene buenos precios y gastos de envío rondando los 5 €. Su software está en principio sólo para Windows y Mac pero es relativamente "fácil" hacer que rule en linux. Las instrucciones las he sacado de aquí y las traduzco al español con algunos pequeños cambios.

Se puede instalar de varias maneras, usando la versión de mac o la de windows. Por lo que he leído parece que se podría hacer una versión nativa de linux. A ver si se deciden.

Opción 1. Usando directamente la versión de Mac. (mi preferida)

Primero de todo necesitamos tener instalado el JRE de java. Para la versión de Mac se usa el Java 1.5 que se instala en ubuntu con el comando:

$sudo apt-get install sun-java5-jre

Descarga la versión de BookSmart para Mac (es un archivo con la extensión .dmg). Tendrás que registrarte para poder descargarla. Primero necesitamos convertir el archivo dmg a una imagen que pueda montar ubuntu. Usamos un software de java que hace exactamente eso (aquí lo tienes). Cuando hayamos creado la versión .iso ejecuta los siguientes comandos cambiando los directorios por aquellos donde has guardado el archivo:


#Creamos la carpeta
sudo mkdir -p /media/macbooksmart

#para tener soporte del formato HSF de mac...
sudo modprobe hfsplus && sudo modprobe hfs

#montamos la imagen del archivo descargado cambiar
#/ruta_al_archivo/booksmartxxx.iso por la que corresponda
sudo mount -t hfsplus -o loop /ruta_al_archivo/booksmartxxx.iso /media/macbooksmart

#copiamos las librerías de ejecución a una carpeta que creamos en /usr/lib
sudo mkdir /usr/lib/booksmart/
sudo cp -r /media/macbooksmart/BookSmart.app/Contents/Resources/Java/lib/ /usr/lib/booksmart/
sudo cp -r /media/macbooksmart/BookSmart.app/Contents/Resources/Java/resources/ /usr/lib/booksmart/

#desmontamos y borramos la carpeta creada para montar la imagen
#(no hacer esto si queremos crear un acceso directo)
sudo umount /media/macbooksmart
sudo rmdir /media/macbooksmart

Ahora nos queda crear el lanzador. Creamos un archivo /usr/lib/booksmart/booksmart ($sudo gedit /usr/lib/booksmart/booksmart) y lo llenamos con el siguiente código:

Editado: esto ha cambiado por este nuevo método que evita introducir la contraseña


#! /bin/sh
cd /usr/lib/booksmart
/usr/lib/jvm/java-1.5.0-sun/jre/bin/java -Xincgc -ea -Xms256m -Xmx1024m -classpath lib/bsc.jar:lib/commons-discovery-0.2.jar:lib/commons-logging-1.1.jar:lib/davisor-offisor.jar:lib/eventbus1-1.jar:lib/gdata-client-1.0.jar:lib/gdata-core-1.0.jar:lib/jaxrpc.jar:lib/log4j.jar:lib/saaj.jar:lib/spellex.jar:lib/ws-commons-util-1.0.1.jar:lib/wsdl4j-1.5.1.jar:lib/xmlrpc-client-3.1.jar:lib/xmlrpc-common-3.1.jar com.blurb.booksmart.application.BookSmart
exit $?


Y debemos darle permisos de ejecución bien con gnome o con el comando:

chmod +x /usr/lib/booksmart/booksmart


Si queremos crear un enlace en el menú de aplicaciones pinchamos con el botón derecho en "Aplicaciones" y selecccionamos "Editar menús". "Gráficos"->"Elemento nuevo" y ahí rellenamos:

Tipo: Aplicación
Nombre: Blurb BookSmart
Comando: /usr/lib/booksmart/booksmart
Icono: /usr/lib/booksmart/resources/themes/library/Blurb_logo_320.png



El resultado:

miércoles, noviembre 05, 2008

Montar una carpeta compartida entre Mac y Ubuntu vía Samba

Es la cosa más sencilla del mundo. Primero debemos compartir la carpeta desde Mac así que vamos a "Preferencias del sistema"-> "Compartir".



Activamos "Compartir Archivos" y añadimos la carpeta que queramos compartir y especificamos qué permisos queremos que tenga. En mi caso sólo he permitido que el usuario del ordenador tenga derechos de lectura y escritura en la carpeta "Documentos".


Por último pulsamos "Opciones" para activar las carpetas compartidas por samba (smb).


Probablemente pida la contraseña para poder activar el servicio, se la damos... et voilà. Ya tenemos un servicio de carpeta compartidas compatibles con samba (windows, linux).

Aquí viene la segunda parte: la configuración del la máquina ubuntu. Desde el escritorio el acceso es prácticamente directo. En el caso de que uses Gnome basta con que vayas a "Lugares->Red" y si estás en red local deberías ver ya la máquina Mac.



Al acceder pedirá un nombre de usuario y contraseña, en mi caso uso los del usuario de Mac porque no permito el acceso anónimo. Tras esto ya podemos acceder a la carpeta compartida.



Puede ser, como era mi caso, que necesitemos montar la carpeta compartida a nivel de terminal. Para ello hay que hacer algún paso más.

Primero instalamos el cliente el paquete smbfs para que podamos montar los sistemas de archivo samba. Si usas debian/ubuntu sería:

$sudo apt-get install smbfs

Y a continuación montamos la carpeta:

$sudo mount -t smbfs -o username=usuario_mac,password=password_mac,iocharset=utf8 //ip_mac/carpeta_compartida /carpeta_montaje

Donde usuario_mac y password_mac son el usuario y el password del ordenador mac, ip_mac es la ip del ordenador mac, carpeta_compartida es el nombre de la carpeta que has compartido y carpeta_montaje es la carpeta del ordenador ubuntu donde vas a montar la compartida.

El problema de este comando es que no te permitirá explorar esas carpetas más que con el usuario root, habría que refinar el comando para permitir lectura/escritura/ejecución para cualquier usuario. Así que posiblemente tengas que recorrer a:

$sudo su

Para convertirte en root y poder navegar tranquilamente por las carpetas.

martes, noviembre 04, 2008

Convertir archivos .msg de outlook a .eml para Mac

Después de pelear durante horas para rescatar unos antiguos correos de mi jefe que estaban en formato .msg de Outlook 2003 comparto aquí el pequeño script que me cree.

El script recorre todas las carpetas recursivamente buscando archivos .msg  y creando con  archivos .eml compatibles con thunderbird, mail para mac, entourage,...

Ventajas: no modifica los archivos, recupera los adjuntos (doc, imágenes, txt,...)
Problemas: se pierden los adjuntos, ningún archivo puede contener la cadena msg.

Puedes descargar el archivo de aquí. Las instrucciones para la instalación y descarga de programas necesarios aparecen en el propio archivo.

#!/bin/bash

# Script para la conversión de archivos .msg de outlook a .eml
#
# Recorre recursivamente el directorio indicado por parámetro creando por cada archivo .msg
# un archivo compatible .eml en la misma carpeta

# Version: 0.1
# Licencia: GPL (http://es.tldp.org/Otros/gples/gples.html)
# Autor: Gonzalo Cao Cabeza de Vaca
# Mailto: gonzalo(punto)cao@gmail(punto)com

# INSTALACIÓN
# Este script precisa del paquete wine y del software ruby-msg (http://code.google.com/p/ruby-msg/)

# 1. Si aún no lo tienes instala el wine (si tienes ubuntu o debian: $sudo apt-get install wine)
# 2. Descarga la versión stand-alone del software ruby-msg (http://ruby-msg.googlecode.com/files/msgtool-1.3.1-mswin32-stand_alone.zip)
#    y descomprimela en cualquier carpeta de tu disco duro
# 3. Configura a continuación la ruta al ejectuable en la carpeta en la que has guardado ruby-msg

ruta_ejecutable=/home/gonzalo/usr/ruby-msg/msgtool.exe

# USO
# ./msg2eml.sh ruta_a_carpeta

# EJEMPLO
# ./msg2eml.sh /home/gonzalo/correos_antiguos

# PROBLEMAS
# Ninguna de las subcarpetas debe contener en su nombre la cadena "msg", el script fallaría.
# De existir debe renombrarse antes de ejecutar el script

find $1 -type f -name "*.msg" | while read FILE
do
newname=`echo $FILE | sed s/.msg/.eml/`
echo $newname
wine $ruta_ejecutable "$FILE" > "$newname"
done