howto

8 entradas

brico — instalar cyanogenmod 7.1 en un HTC Hero

Antes de que se me pase, el aviso: ¡Ojo! Aplicar estas instrucciones sobre un teléfono (no necesariamente del modelo que se comenta) puede convertirlo en un precioso e inútil cacho de metal y plástico. Que a mí me funcionase es circunstancial y, bajo ningún concepto voy a aceptar críticas ni lloros porque algo no salió como se esperaba. Es tu móvil, es tu responsabilidad. 🙂

HTC Hero

Como casi todo el que empieza en esto de cambiarle el sistema operativo al teléfono (si, ahora los teléfonos móviles también tienen de eso), me leí toda información relativa al modelo, un HTC Hero y a la ROM, cyanogenmod que calló en mis manos. Y de ahí vino el problema. Porque información hay mucha, muchísima, tanto oficial (foros y wiki) como extraoficial y eso, se quiera o no, termina por saturar y sembrar de dudas. Así que, tras empaparme del proceso, bajarme los ficheros y programas necesarios, me acojoné y lo puse en espera hasta que me volviese el valor.

Un mes y pico después, más calmado y valiente, volví a retomar el tema y seguí buscando información. Al final, deduje que el proceso de instalarle una ROM no es tan laborioso como aparece en la web oficial, si no pretendes modificarla. Como era mi caso, elegí la siguiente versión abreviada:

  1. obtener la última versión de la ROM. Yo me bajé la última de las versiones nocturnas, las Nightly Builds, de Cyanogenmod 7.1. Lo colocaremos en la tarjeta de memoria, en el directorio principal de la misma.
  2. obtener las google apps, para disponer de las herramientas de google, gmail incluído. Sino, sería como volver a tener un nokia :P. También debe colocarse el fichero comprimido en el raíz de la tarjeta de memoria.
  3. apagamos el teléfono y lo iniciamos en modo de recuperación del sistema, es decir, que pulsamos las teclas Home y Encendido a la vez.
  4. en el menú, lo primero que haremos será hacer una copia de seguridad por si hay que volver atrás. Usando la bola como un joystick, nos movemos a Backup/Restore y pulsamos. Ejecutamos Nand Backup y volvemos al menú principal.
  5. lo siguiente es borrar las cachés, porque tiene varias. En la opción Wipe, ejecutamos Wipe data/factory reset, Wipe cache y Wipe Dalvik-cache. Volvemos al menú principal.
  6. ahora ya toca instalar la nueva versión de Android. Para ello, vamos a la opción Flash zip from sdcard y seleccionamos el fichero de cyanogenmod. Pulsamos Home para aceptar la operación y listo.
  7. instalamos, mediante la misma opción, las google-apps.
  8. hecho esto, sólo nos falta reiniciar el teléfono y esperar. Por cierto, el primer inicio tras la instalación del nuevo android tarda mucho. Yo instalé tres veces cyanogenmod por no esperar cinco minutos.
  9. lo primero que nos pedirá será la configuración de las google-apps, es decir, una cuenta de gmail. También se descargará e instalará una versión del market ligeramente diferente a la que estaba acostumbrado y, de ahí, al infinito.

Desde el día que tuve el teléfono en mi mano quise cambiar la versión de android que traía instalado. Los motivos eran varios, como que las actualizaciones del sistema operativo eran escasas (o inexistentes) gracias a HTC, que la capa gráfica que había metido el fabricante, Sense, lastraba el funcionamiento una barbaridad o que muchas aplicaciones no eran compatibles. Hace un año HTC actualizó la versión de android a la 2.1 y solucionó el último punto, pero el resto seguía ahí.

Android 2.3.7 en mi HTC Hero
Android 2.3.7 en mi HTC Hero

Tras dar el paso, las ventajas son muy evidentes. De hecho, han pasado dos semanas y sigo pensando que he cambiado de teléfono. A grandes rasgos, el comportamiento es más fluido y rápido, se nota que Sense no está en medio, pintando todas las esquinas redondeadas y los cambios introducidos en la versión 2.3 de android son tremendos.

Tampoco tengo las aplicaciones que traía instalado de serie y que no se podían desinstalar, a pesar de ocupar un espacio muy valioso porque sólo se utilizaba la memoria interna del teléfono para guardarlas. Ahora puedo elegir dónde instalar las aplicaciones, en la memoria del teléfono o en la tarjeta externa, con lo que se gana espacio y se evita el mensaje de la falta de espacio.

Además, la batería dura considerablemente más, debido en parte al control de las aplicaciones que están funcionando en background y que es impresionante. Me he olvidado del programa aquel para matar procesos, con el vicio que tenía.

También se han resuelto algunos efectos extraños como no recibir llamadas a pesar de estar en cobertura o que tras realizar una llamada estuviese un minuto como desconectado, sin cobertura.

Y ya, en plan tonto, comentar que el programa para gestionar la cámara de fotos es mucho más completo y sencillo de usar y que el de la galería de fotos es una pequeña maravilla, fácil e intuitivo de usar y muy vistoso.

Si bien es cierto que en ocasiones no hay bastante hardware para ciertos procesos, estoy muy contento con el resto de mejoras y ni hecho de menos la anterior versión, ni creo que vuelva a ver Sense en el teléfono.

instalando el cliente ICA en debian

Rollo linuxero. Profanos abstenerse.

Gracias al josconcio de ayer, hoy me encuentro devolviendo al status quo anterior a mi equipo del trabajo, intentando que esté medianamente utilizable y, tras instalar el cliente ICA para linux, el inicio del programa me da un error bastante feo:

diego@2014_n1mhorg!:~$ /usr/lib/ICAClient/wfcmgr
/usr/lib/ICAClient/wfcmgr: error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory

Obviamente (es obvio quince foros más allá :)), necesito las librerías Open Motif para que el cliente funcione y pueda pintar las ventanas, así que, se instala el paquete motif-clients de debian y listo:

diego@2014_n1mhorg!:~$ sudo aptitude install motif-clients

debian, howto, ica, citrix, client, openmotif, libxm.so.3

bluetooth 0.8 en gnome

Gracias a un mensaje dejado en las listas de debian, pude saber donde había una versión no oficial de los paquetes del bluetooth en gnome, gnome-bluetooth, en su última versión.

Así pues, para poder enviar y recibir ficheros desde el móvil, sólo hay que pasearse por alioth y descargar los ficheros gnome-bluetooth, libgnomebt0 y libbtctl2, éste último es el paquete que, al pasar de la versión 1 a la 2, arrastra un montón de problemas evitando que se pueda actualizar limpiamente y halla que andar haciendo estas historietas.

A continuación, hay que ejecutar lo siguiente:

sudo dpkg -iGRE *deb

También, como complemento, se puede instalar el paquete bluez-gnome (éste ya desde el repositorio oficial de debian) y arrancar el applet bluetooth-applet, que muestra el logo azul en el systray y permite algunas configuraciones interesantes, como conexiones a dispositivos o que se haga visible en cuanto se conecte el dongle.

gnome-bluetooth

debian, linux, gnome, bluetooth, howto

Cómo utilizar calendarios de Google con Mozilla Sunbird

Los calendarios remotos (como los de Google o cualquier otro que emplee los estándares iCalendar o WebDav) sirven, por lo menos a mí, para tener disponibles y accesibles ciertas fechas desde cualquier lugar, Internet, el móvil, etc…

Este pretende ser un breve tutorial acerca de cómo utilizar los calendarios de Google con Mozilla Sunbird, la aplicación de Mozilla para gestionar calendarios, citas, notas y listas de cosas por hacer, es decir, la aplicación PIM de Mozilla (Personal Informacion Manager).

Bueno, al lío.

  1. Notas preliminares
  2. Primero y más importante, las anotaciones de los calendarios no deben contener tíldes, eñes ni caracteres no ASCII. Al importarlos desde el Sunbird, éstos caracteres dan errores de UTF mal formado, entre otros. Y, por cierto, si el calendario ya existía y modificamos las entradas para que no tengan caracteres inválidos, por especificaciones del estándar, éstas modificaciones se guardan y siguen invalidando dicho calendario.

    Segundo, no es necesario que el calendario lo hallamos creado nosotros ya que se pueden consultar calendarios compartidos por terceros, por ejemplo, todas las fechas del mundial de fútbol de alemania.

  3. Software necesario
  4. La última versión del Sunbird es la 0.3 alpha2 (enlace aquí) y hay versiones en un montón de idiomas. Para usar los calendarios de Google, sólo hay que tener una cuenta con ellos o una dirección de correo de Gmail.

  5. Configurar el calendario
  6. Primero hay que crear un calendario, en mi caso se trata del Calendario Laboral del 2006, y crear las citas de las fechas. Como se trata de los días en que no se trabaja, parece que se hace más ligero y que las pruebas salen mejor.

    A continuación, necesitamos la dirección del calendario y se puede obtener de varias formas: como código XML, código iCal y código HTML y siempre desde la opción Manage Calendars.

    manage calendars

    Ya que el estándar definido para calendarios y citas es iCal, vamos a emplearlo en el acceso al calendario y la razón por la que escojo el perfil privado es simple, desde éste se puede acceder sin que esté compartido. Debemos copiar el enlace al iCal para poder especificar más tarde la ruta de acceso al calendario.

    calendario ical

    Siempre se puede compartir el calendario para que otras personas puedan acceder a él, la operación se hace desde la pestaña Share this calendar y puede ser de dos formas: completo o por usuarios.

    share this calendar

  7. Configurando Sunbird
  8. El siguiente paso es configurar el cliente, el programa que se conectará al calendario. En el menú Archivo, nuevo calendario, escogemos la opción Calendario remoto (la imagen está al revés), seleccionamos el acceso mediante WebDav y pegamos en el cuadro de texto la ruta que obtuvimos del calendario de Google.

    calendario remoto calendario webcal

    Finalmente, sólo hay que ponerle un nombre chulo al calendario y elegir el color con que se mostrarán todas las citas del mismo y ¡listo! Ya podemos acceder a todas las citas de un calendario de Google desde Mozilla Sunbird.

    nombre del calendario

mozilla, sunbird, google, calendar, howto

firmando imágenes

Dejo aquí un script chorras que permite redimensionar y firmar con un texto una gran cantidad de imágenes de manera automática.

Que conste que el script es mio, está sacado de aquí y allí a toda prisa y, por lo tanto, deja bastante que desear. Si a alguien le interesa, puede cogerlo y usarlo bajo su responsabilidad. El hecho de que a mí me funcione no garantiza nada :D.

Básicamente, se realizan dos pasadas por cada foto. En la primera se redimensiona la imagen y se pone el texto en la parte baja de la foto, centrado (a mano) y con el tipo de letra AvantGarde-Book en blanco. En la segunda pasada se pone el mismo texto, esta vez en color negro y un pixel más abajo y a la derecha. Este pequeño truco es cosa de eimbrous y consigue que las letras del texto resalten sean cual sea el color del fondo de la foto.

¡Ah! es necesario el programa ImageMagick.


#!/bin/bash
# Diego Martínez Castañeda
# 20040813
# Under GPL license
DIR_ORIG="$1"
DIR_DEST="$2"
TEXTO="$3"
TAMANO="$4"


if [ $# != 4 ] ; then
echo "Uso: `basename $0` dir_origen dir_destino texto tamaño"
exit 1
fi


for fichero in `ls $DIR_ORIG/*.jpg`
do
fich=`basename $fichero`
convert $fichero \
-verbose \
-resize $TAMANO \
-font AvantGarde-Book \
-pointsize 30 \
-fill white \
-gravity south \
-draw "text 0,0 '$TEXTO'" \
$DIR_DEST/$fich.temp
convert $DIR_DEST/$fich.temp \
-verbose \
-font AvantGarde-Book \
-pointsize 30 \
-fill black \
-gravity south \
-draw "text 1,1 '$TEXTO'" \
$DIR_DEST/$fich
done


rm $DIR_DEST/*temp
exit 0

linux, imagemagick, imagenes, redimensionar, firmar, howto

como configurar pure-ftpd en debian

¡Atención, coñazo linuxero! Advertidos estáis.

mario me retó hace tiempo con la configuración de un servidor FTP empleando uno de los mejores (sino el mejor, IMHO) servidores de dicho protocolo, el pure-ftpd. Pues bien, como la instalación en Debian es relativamente sencilla, me voy a centrar en la configuración de las opciones del servicio y, sobre todo, en los pasos necesarios para hacerla compatible con el sistema de gestión de parámetros que emplea esta distribución.

Pure-ftpd es un programa pensado para dotar de la máxima seguridad posible a un protocolo que carece de ella y, una de sus características más significativas, es que recibe todos los parámetros desde la línea de comandos. ¿Qué significa esto? Que en el hipotético caso de que quisieramos configurar el servidor para que, pongamos por ejemplo, encierre en una jaula a cada usuario (parámetro -A --chrooteveryone), opere como demonio (parámetro -B --daemonize) y no permita conexiones anónimas (parámetro -E --noanonymous), en dicho caso, decía, podemos modificar el script que arranca y para el servicio para añadirle a pelo las opciones que necesitamos (-A, -B, -E) o podemos crear unos ficheros en el directorio del configuración del pureftpd.

Si la opción elegida es la primera, bon voyage. Aquí nos centramos en la segunda :P.

El directorio de configuración del pureftpd en Debian, como suele ser habitual, es /etc/pure-ftpd y, bajo este nos encontramos dos subdirectorios, db y conf . El primero alberga los ficheros que son más sensibles y a los que hay que restringir el acceso mediante permisos, por ejemplo, aquellos que influyen en la manera de autenticar a los usuarios, ya sea por Login, LDAP u otros medios. En mi configuración, donde autentico a los usuarios desde un LDAP, el fichero /etc/pure-ftpd/conf/LDAPConfigFile alberga la ruta absoluta a las opciones de conexión y autenticación del LDAP, que están en ese directorio:


# cat LDAPConfigFile
/etc/pure-ftpd/db/ldap.conf

Es en el segundo directorio donde debemos crear un fichero por cada opción que queremos pasarle al servidor durante el arranque. La lista completa de los parámetros que podemos emplear se puede encontrar en la documentación del Pure-ftpd (en inglés). De ella debemos seleccionar las opciones que más se ciñen al funcionamiento que vamos a darle al servidor y crear los ficheros. Si nos ceñimos al ejemplo anterior, debemos añadir los siguientes parámetros:


-A --chrooteveryone
-B --daemonize
-E --noanonymous

El nombre de los ficheros debe coincidir con el parámetro no abreviado, el de nombre largo y deben separarse las palabras con mayúsculas. Así, para la jaula ejecutaríamos este comando:

# echo yes > /etc/pure-ftpd/conf/ChrootEveryOne

y para el resto estos:

# echo yes > /etc/pure-ftpd/conf/Daemonize
# echo yes > /etc/pure-ftpd/conf/NoAnonimous

Respecto al contenido de los ficheros, si el parámetro es verdadero o falso (1 y 0), se pone yes o no, pero si requiere otro tipo de argumento, ya sea un número (número máximo de conexiones), una ruta a un fichero (la configuración de la conexión al LDAP) o una dirección IP, entre otros, es aconsejable consultar el tipo exacto de dato en la documentación y, según las necesidades, escribirlo en el fichero.

Por último, para comprobar que nuestra configuración funciona, es recomendable auditar constantemente los ficheros de registros, los ficheros log porque el programa tiene la sana costumbre de notificarlo todo y más si le pedimos mucha información de depuración con -d --verboselog.

pure-ftpd, pureftpd, configuracion, config, howto, debian