jueves, marzo 03, 2011

Conky a fondo

Hola amigos, en esta ocasión vamos a instalar y configurar una de las herramientas de monitorización mas versátiles en Linux, estoy hablando de Conky. Ya escribí con anterioridad un artículo sobre este software pero esta vez vamos a destriparlo al completo ;)

Lo primero será descargar el software desde la página del proyecto en SourceForge.

Descargamos las fuentes:
cd /usr/src
wget http://sourceforge.net/projects/conky/files/conky/1.8.1/conky-1.8.1.tar.gz

Una vez descargado lo descomprimimos de la forma habitual:
tar xvzf conky-1.8.1.tar.gz

Lo instalamos:
cd conky-1.8.1
./configure --enable-weather-metar --enable-lua --enable-wlan
make
make install

Ahora ya tendríamos Conky listo para funcionar, pero si queremos monitorizar aspectos meteorológicos desde el tendremos que instalarle un paquete adicional llamado conkyForecast.
dpkg -i conkyforecast_2.09_all.deb

Para poder realizar consultas debemos abrirnos una cuenta en:
http://www.weather.com/services/xmloap.html

Los ficheros de configuración de Forecast además de necesitar los datos de acceso también necesita el código de la zona geográfica, para Madrid por ejemplo se obtendría visitando esta página.

Editamos el fichero de configuración de ConkyForecast:
vi /usr/share/conkyforecast/conkyForecast.config




Copiamos el fichero de configuración al directorio home del usuario:
cp /usr/share/conkyforecast/conkyForecast.config /home/"usuario"/.conkyForecast.config
chown "usuario"."usuario" /home/"usuario"/.conkyForecast.config

Para pedir información desde el fichero de configuración se hará del siguiente modo:
${offset 165}${voffset -45}${font Weather:size=14}${color Red}y ${color}${font}Temp: ${alignr}${execi 3600 conkyForecast --location=SPXX0050 --datatype=LT} / ${execi 3600 conkyForecast --location=SPXX0050 --datatype=HT}
${offset 165}${font ConkyWeather:size=11}${color Deep Sky Blue}8 ${color}${font}Humedad: ${alignr}${execi 3600 conkyForecast --location=SPXX0050 --datatype=HM}
${offset 165}${font ConkyWeather:size=11}${color Aquamarine}2 ${color}${font}Viento: ${alignr}${execi 3600 conkyForecast --location=SPXX0050 --datatype=WS}

Estos son solo algunos parámetros, para ver que mas se puede pedir ejecutamos:
conkyForecast --help

Como ya he dicho Conky es altamente configurable, tanto que permite añadir diferentes fuentes, para ello habrá que instalarlas primero. Una buena página de donde descargarlas es Dafont.

Cuando nos bajemos las fuentes las decomprimimos en un directorio y las movemos a /usr/share/fonts/truetype:
cp *.ttf /usr/share/fonts/truetype

Asignamos los permisos pertinentes:
chmod 755 /usr/share/fonts/truetype/*

Regeneramos el índice de fuentes:
su "usuario"
fc-cache -f -v

Para ver las fuentes disponibles:
fc-list
exit

Cabe destacar que si indicamos en el fichero de configuración una fuente que no se encuentra instalada nos aparecerá la letra pero no el dibujo.

Otra opción interesante de Conky es colorear el texto, un ejemplo puede ser:
${font StyleBats:size=16}i${font}${color Tan1} Kernel: ${color}${alignr}${kernel}

Existe una tabla con los colores disponibles en la Wikipedia.

Creamos el directorio donde guardaremos todos los ficheros relacionados con conky:
mkdir /home/"usuario"/.conky

Conky nos permite pintar diferentes textos o gráficos en base a ciertas condiciones, es tan sencillo como esto:
MAC_AP: $alignr${execi 30 /home/"usuario"/.conky/MAC.sh}${if_existing /tmp/MAC_OK}${color Green}${font sans-serif:normal:size=8}${execi 60 GW=$(/sbin/route -n|grep UG|awk -F " " '{print$2}') && /usr/sbin/arp -a|grep $GW|awk -F " " '{print$4}'}${font}${color}${else}${color Red}${font sans-serif:normal:size=8}${execi 60 GW=$(/sbin/route -n|grep UG|awk -F " " '{print$2}') && /usr/sbin/arp -a|grep $GW|awk -F " " '{print$4}'}${font}${color}${endif}

Primero ejecuta el script /home/"usuario"/.conky/MAC.sh, este generará el fichero /tmp/MAC_OK en caso de que la MAC del AP coincida con una conocida, en caso contrario no lo generará.
Si existe el fichero /tmp/MAC_OK nos pintará de color verde la salida del comando /usr/sbin/arp -a|grep wlan0|awk -F " " '{print$4}' en caso contrario lo hará en rojo.

De este modo podemos monitorizar si nos han envenenado la tabla ARP para el AP ;)

En el script MAC.sh hay que modificar el parámetro MAC por la MAC de vuestro AP.

Si os fijais en la configuración de mi Conky podreis ver que hay otras comparaciones sobre uso de RAM o disco duro de modo que si se supera el 90% el icono será pintado en rojo.

Aquí podeis encontrar mi configuración con resolución de portatil.
Aquí la del monitor.

Para ejecutarla sería tan sencillo como conky -c conky-config
También me he currado un pequeño script que se puede añadir al arranque de gnome para que compruebe la resolución de las X y cargue una configuración u otra.

Creo que con esto queda casi todo explicado sobre Conky, solo quedaría el tema de los scripts en LUA pero esa es otra historia.......

No hay comentarios: