¿Qué es una Firma Aleatoria?
Por lo general, hablando de sobre el correo electrónico, se entiende
como firma, a una porción de texto estática que se puede leer
al final de mensajes de alguien.
Por ejemplo:
Juanjo Conti - Carlos Pellegrini
- Santa Fe - Argentina -
jjconti@esdebian.org
Http://www.lugcos.org.ar
GNU/Linux registered user #224139
ICQ UIN: 125581849
Leí una vez en las "Recetas de La Espiral" (
www.laespiral.org), una receta de alguien de nombre Luis Cabrera Sauco
(
http://www.laespiral.org/documentacion/recetas/bin/numero?30) en la que
se comentaba que con el cliente de correo Mutt, se podí hacer uso
de 'Fortune' para tener firmas aleatorias, osea, para que cada vez que escribamos
un mensaje, una nueva frase se imprima al final de este. Lindo, no?. Si usás
Mutt, podés ir directo a esa receta :-)
¿Como funciona Fortune?
Con
/usr/games/fortune
ejecutamos este juguete :-); este programa (usado, por ejemplo por el aplique
"El pececillo de GNOME") lee aleatoriamente las citas o frases contenidas
en el directorio
/usr/share/games/fortunes
y muestra una de ellas en la pantalla.
Por ejemplo:
[juanjo@avatarium juanjo]$
/usr/games/fortune
Bender: "In the event of an emergency, my ass can be used as a floatation
device."
[juanjo@avatarium juanjo]$ /usr/games/fortune
"Will you cook my dinner for me? My parents aren't around and I'm not allowed
to turn on the stove."
--Ralph Wiggum
Grampa vs. Sexual Inadequacy (Episode 2F07)
man fortune para más información.
Firmas estáticas en Evolutión
En Evolutiion, en el submenú 'Configuración del correo' dentro
del munú 'Herrameintas', tenemos la opción de editar la cuenta
que estemos usando para enviar correo desde nuestra maquina. Como se ve en
la imagen, hay un campo, el cual podemos completar con el PATH hasta un archivo
de texto que nos sirva como firma.
¿Qué se quiere lograr?
Lo que me propuse hacer es lograr este efecto tan sencillo de realizar en
Mutt, en Evolution, por que Yo uso Evolution :-).
Como Evolution solo acepta como 'firma', un archivo de texto, lo que tengo
que hacer es:
a) Un script, cuya salida en pantalla, sea mi firma, cada vez que se ejecute
el script, la salida en pantalla será distinta.
b) Que exista un archivo fifo (es decir, uno, que una vez escrito por un
proceso, no pueda ser leido hasta que otro proceso lo lea) en el que se escriba/lea
la salid del anterior script.
Manos a la obra!
Los nuevos archivos que van a quedar en mi home para lograr mi cometido,
son: firma_def; firma_rep.sh; y firma.sh .
a) Crear un archivo fifo llamado firma_def, como dije antes, es el archivo
que leerá Evolution e imprimirá al final de cada mensaje:
$ mkfifo firma_def
b) Crear el archivo firma.sh con el siguiente contenido (este es el contenido
de mi archivo, no firmés tus mensajes con mi nombre ;-):
#!/bin/bash
echo "Juanjo Conti - Carlos Pellegrini - Santa Fe - Argentina -"
echo " "
echo "jjconti@esdebian.org "
echo "Http://www.lugcos.org.ar "
echo "GNU/Linux registered user #224139 "
echo "ICQ UIN: 125581849 "
echo " "
echo "Matt G. Random Fortune sais: "
echo " "
/usr/games/fortune
La idea es imprimir con 'echo' la parte estática de nuestra firma,
y luego incluir la útlima línea con la cual 'Fortune' muestra
una frase al azar. Si probamos ejecutar este scritp (./firma.sh), se imrprimirá
nuestra firma en la pantalla.
c) Crear el archivo firma_rep.sh; este es el bucle que cada vez que Evolution
lea firma_def reemplazará su contenido. El contenido del archivo debe
ser:
#!/bin/bash
##############################################################
# Este scrip es el bucle encargado de cambiar
#
# el contenido del archivo $HOME/firma_def
#
##############################################################
while true; do
/home/juanjo/firma.sh > /home/juanjo/firma_def
sleep 1
done
La necesidad del archivo firma_rep.sh radica en que el 'archivo de firma'
en Evolution no puede ser un programa, si en Kmail, por lo cual en Kmail
alcanzaría con configurar como se ve en la imagen:
Terminando..
Con estos consejos tendría que ser suficiente para lograr este efecto,
si algo no sale de acuerdo a lo planeado, más abajo esta mi casilla
de correo eletrónico, no tengo problemas en subsanar alguna duda.
Con respecto al tip, solo quedan 2 cosas por decir:
1) Si buscas en FreshMeat, hay una sección especial con 'fortune-modes',
osea, una sección de archivos que alimentan al 'Fortune' con citas
y frases. La URL es
esta
2) Lo más piola sería que 'firma_rep.sh' se ejecute cuando
corramos Evolution, lo que yo hice fue crear un script: evolution.sh (dentro
de mi home) que lanza Evolution y firma_rep.sh y editar el botón con
el que corro Evolution, cambiando "exec evolution" por "./evolution.sh".
Funciona! :-)
Sobre este documento
Este documento se encuetra bajo licencia FDL, esto significa que puede ser
copiado, redistribuido y mejorado, siempre y cuando se mencione al autor.
Fue terminado de escribir en Carlos Pellegrini, el 6 de Agosto de 2002.
Lo escribí en mis ratos libres, y seguramente hay otros formas más
limpias de harlo, pero esta fue la primera que se me ocurrió y me
srivea, es más, seguramente alguien puede mejorar me método,
adelante pues. Comentarios, dudas y sugerencias sobre este artículo,
favor de remiritlas a juanjo@lugcos.org.ar o a jjconti@esdebian.org o a jjconti@gnu.org
La última versión de este puede bajarse de
el sitio web del LugCOS!, en la sección
Documentos.
Aquí.
"Evolution" de este documento
A principio de Octubre de 2002 se agregó al documento la idea de usar
un achivo fifo para
firma_ref
; gracias a las ideas dadas por Jhon Lenton y Marcos Dione a travez de la
lista de correos del
Grulic. Gracias
por el dato!.
Saludos!!
Juanjo Conti - Carlos Pellegrini
- Santa Fe - Argentina -
jjconti@gnu.org
Http://www.lugcos.org.ar
GNU/Linux registered user #224139
ICQ UIN: 125581849
F. Gump Random Fortune sais:
Momma always said: "Life is like a box of chocolates, Forrest. You never
know what you're gonna get"
Forrest Gump