Pasos y scritp para la recuperación de la configuración personal en el cliente de msn, aMSN

, por laura

Una de las cosas que puede ocurrir es que el disco se llene sin previo aviso, haciendo que las configuraciones de los programas abiertos se malogren. Eso fue lo que me pasó al intentar instalar una aplicación en mi sistema MacOSX mientras ejecutaba el aMSN. Por ser el aMSN una aplicación multiplataforma, es muy probable que lo que sigue sea aplicable al 90% en otros sistemas operativos, como GNU/Linux.

Como descargo, he de decir que doy una solución a un problema que he padecido dos veces recientemente, la primera vez fue algo bastante rutinario y aburrido, sin ningún tipo de aliciente y de la cual no aprendí gran cosa, por ello pensé en elaborar un sistema que me ahorrara tiempo a la hora de volver a la normalidad, sin aconformarme simplemente a perderlo todo. Quizá todo esto sea innecesario y vanal, pero que me ha permitido recordar algo de la programación en BASH, y tener en el futuro un método relativamente sencillo para recuperarlo todo en poco tiempo.

Introducción

Pongámonos en situación. Tenemos que el aMSN es incapaz de reconocer el usuario que se estaba utilizando cuando ocurrió el "desastre".

Si miramos en el archivo donde se guarda nuestra configuración, logos, fotos y smileys, [1]vemos que todo sigue bien, pero por alguna extraña razón el programa no es capaz de reconocer nuestro perfil a pesar de la aparente normalidad. [2]

La oscura razón, supongo, radica en que algunos de los archivos de la configuración se han dañado al no poder guardarse adecuadamente. Así que lo único que se puede hacer es renombrar el archivo de nuestro perfil y volver a crear el usuario nuevamente mediante la interfaz de aMSN.

Esto soluciona el problema, pero resulta que cuando ingresas a tu cuenta te das cuenta de que has perdido toda tu configuración personal, un fastidio si tenias muchos detalles personalizados.

Una gran idea sería hacer copias de seguridad, con suficiente anticipación para que estos pequeños (o grandes) desastres no nos afectaran, pero esto, todos lo sabemos, es difícil de cumplir, a no ser que lo dejes programado de alguna manera con sistemas automáticos como el cron. Por supuesto, en este caso no se hicieron las copias de seguridad oportunas, así que nos deamos de lamentar y trataremos de salvar el máximo posible.

Pasos a seguir para restaurar la configuración.

Antes de reinstalar el programa o crear de nuevo el perfil que teníamos, debemos sacar el directorio del usuario afectado de su posición actual y situarlo en un lugar seguro, nuestro directorio personal servirá.

Si queremos podemos reinstalar el programa, yo lo hice aprovechando que llevaba varias versiones del aMSN de retraso.

Al volver a crear el usuario, se vuelve a generar una carpeta con el nombre de nuestra cuenta de msn, y en su interior se genera la configuración por defecto.

Lo siguiente es tomar los archivos de la antigua configuración y ponerlos en la carpeta nueva. Con este paso recuperaremos las fotos que hemos ido añadiendo al abatar del amsn, los logs de todas las conversaciones que hemos mantenido, y poco más.

Una cosa importante es tener mucho ojo al copiar y no sobreescribir uno de los archivos, concretamente el config.xml, antes de tocar nada de ese config.xml que estrenamos, la mejor medida, es copiarlo con otro nombre en el mismo directorio, por ejemplo así:

Este archivo de configuración guarda todas nuestras preferencias y también la información acerca los iconos que tanto nos gustan últimamente, y que cuestan tanto de encontrar de nuevo...y que estan guardados en un subdirectorio llamado smileys/ en nuestro perfil.

Las preferencias que se pueden elegir desde la interfaz de amsn, es mejor volver a elegirlas desde ella. Pero la información, localización y datos acerca de los smileys especiales, no se puede agregar sino es uno a uno... lo cual resulta muy agotador si tienes grandes cantidades de imágenes acumuladas. Lo más tentador es dejarlo estar, pero si apetece rescatarlos, se puede aplicar este scritp que he realizado y me ha ayudado a poner las cosas en su sitio.

Uso del script

Tras descargar el recuperarmsn.sh, se le debe dar permisos de ejecución y ejecutarlo como cualquier otro script escrito en BASH.

Cierto es que no es liviana su ejecución hasta el final si se tienen muchas imágenes que reincorporar, y que creo que se podría mejorar un poco en los tiempos de muestra de la imágen, ahora estan muy altos lo que enlantece el trabajo. Se puede ajustar modificando la opción -wait del xv directamente en el script.

También pienso que se puede eliminar una de las dos preguntas que se realizan, ya que el nombre del archivo carece de importancia real para el archivo de configuración, así que podría aprovecharse el mismo nombre que ya se ha puesto en el "atajo" de teclado. Todo esto reduciría el tiempo que toma la reestructuración de la configuración de manera notable.

Después de la ejecución del scritp aparece un archivo confimsn.txt en la carpeta smileys, su contenido debe tener un aspeto similar a lo que sigue:

Es evidente que cuando se ha terminado la ejecución del script, tenemos toda la información recogida en este archivo provisional(configmsn.txt) que necesita el amsn para volver a reconocer nuestros iconos, pero aún falta el último paso. Tomar esa información y añadirla al config.xml, para lo cual hay q preparar a dicho archivo para la entrada de nuevos datos, lo mejor será quitar el del final y añadirlo más tarde al final de nuevo para que sea correcto, esto se puede hacer así:

Con >> conseguimos no borrar todo el contenido de config.xml. Una vez hecho esto, la prueba de fuego es abrir el aMSN y comprobar que todos los smileys vuelven a estar en su sitio.

Explicación del Script recuperaramsn.sh

#!/bin/bash
#Directorio que contiene los iconos que queremos reutilizar #CAMBIAR USER_MSN POR LA CUENTA DE MSN QUE SE QUIERA RESTAURAR

direct="/Users/ktuin/Library/Application\ Support/amsn/USER_MSN/smileys/"

export DISPLAY=localhost:0.0 #Para que no haya problemas a la hora de ejecutar xv en Mac

#Accedemos al directorio en cuestión
cd "$direct"
conf="./configmsn.txt"
# Ahora comprueba que no haya otro archivo con el mismo nombre anterior, si queremos preservarlo podemos salir del programa sin causar daños. Sin embargo queremos empezar de nuevo se puede ya que borra el antiguo y vuelve a generar otro del mismo nombre.

if [ -f "$conf" ]; then
   echo "Existe un $conf en el directorio $direct. ¿Lo borro?"
    read resp
     if [ "$resp" = "`echo si`" ]; then
        echo "Borrando archivo $conf"
        rm $conf
        echo "He creado el $conf de nuevo"
        touch $conf
     else
       echo "Conservo el archivo $conf, y salgo del programa."
       exit 0
     fi
else
          echo "No tenias el $conf, lo creare."
           touch $conf
fi
#Contamos las imagenes que tenemos, y definimos un contador que marcara el final del bucle do
list=`ls *.png`
cant=`ls *|wc -l`
let contador=1

#durante la ejecución de este bucle do, se preguntará por ciertos datos que más tarde serán usados en la construcción del archivo de configuración. [3]

#este bucle se realizará tantas veces como imágenes png($list) haya en la carpeta.
for i in $list ; do
    echo "Que atajo de teclado usaras?"
    xv -wait 15 -expand 8 $i #Para que se ejecute correctamente las x11 han de estar instaladas y en marcha
    read atajo
    echo "Que nombre tendra?"
    read nom

#Este 15 provoca que la ejecución del xv dure 15 segundos, por supuesto se puede reducir o aumentar, a gusto del consumidor.

# Aquí empieza lo que es la estructura de la configuración para uno de los iconos a restaurar.
echo "<emoticon>
<file>$direct$i</file>
<text>$atajo</text>
<name>$nom</name> <image_name>emoticonCustom_std_($atajo)</image_name>
</emoticon>
">>$conf
# Un contador para no eternizar el bucle y facilitar la salida.
if [ $contador -eq $cant ]; then
    echo "El archivo de configuracion ya esta listo, enhorabuena"
    exit 0
fi
let contador++
done
#Al final y con un {{>>}} vuelco toda la información de cada uno de los iconos en el archivo que hemos preparado.

Con este script lo que se hace es una reconstrucción automatizada, pero parcial, de la configuración del config.xml.

Algunas variables a remarcar son:

direct es la ubicación del perfil que a recuperar. conf es el fichero provisional que crearemos para volcar toda la información.

Conclusión

Espero que a alguien más le sea útil todo esto, sino, pues por lo menos me he divertido haciendo pavadas, jeje que para eso están las vacaciones :P

Si hay algún error o tenéis un comentario que hacerme respecto a este artículo, dejad un mensaje aquí mismo. También espero, que a nadie le ocasione pérdida de datos ni nada por el estilo, la ejecución de este script, que dejo colgado de esta web con licencia GPL y sin ninguna garantía de uso ni de abuso, si lo modificáis para mejor comentádmelo y lo mejoraré también con vuestras aportaciones.

Agradecimientos

Como no, y como siempre, estas cositas no hubieran sido posible sin la ayuda de mis amigos :) Salutacions i petons a tots!


[1] En MacOSX este archivo está en /Library/Application Support/amsn/usuario_msn/

[2] Para los no iniciados en el uso de la Terminal de MacOSX, es una aplicación con la cual mediante comandos escritos se pueden realizar acciones sobre los archivos del disco duro, como editar, renombrarlos, copiarlos, borrarlos, moverlos, y un largo etcétera. La terminal de MacOSX está en la carpeta Utilidades dentro de Aplicaciones.

[3] Como muchas veces los nombres de las imágenes de por sí, no nos dicen nada, he usado el xv para poder visionarlas. Normalmente los nombres de los archivos con los que trataremos son similares a: f66687b6270324a683c60555357326759657a5b655d6165705d4f6d3.png, para poder reconocerlos y responder adecuadamente a las preguntas que se hacen a continuación en el script he añadido una llamada a un visor de imágenes shareware, llamado xv, a pesar de su licencia de uso, es muy usado en las distribuciones de linux. Decir que para un uso personal es totalmente gratuito y que su código fuente está disponible en la red.