5/1/2009

Conky a fondo (Primera parte)

En el artículo Conky, un monitor de sistema ultraligero ya vimos como instalar y ejecutar conky. Pero dado que es un programa muy útil y altamente configurable vamos a ver ahora más en profundidad como crear y modificar una configuración personalizada que se ajuste lo mejor posible a nuestro sistema.



Para todos los que no os funcionan los enlaces de descarga dejo un paquete con las fuentes, los scripts y la configuración de conky.

Sólo teneís que descomprimirlo en vuestro home con:
$ tar xvfj script_conky.tar.bz2

Y después directamente ejecutar conky con:
$ conky &

http://www.megaupload.com/?d=M8IE282H



El objetivo será construir un monitor de sistema parecido a este:


conky personalizado

La mejor manera de empezar es editando una configuración ya existente así que os dejo mi propio fichero de configuración para que sirva como base. Comentaremos cada sección de este archivo y asi aprenderemos a configurarlo y modificarlo a nuestro gusto.

Descarga el archivo conkyrc. Lo colocamos en el sitio en que conky espera tenerlo:
$ cp conkyrc ~/.conkyrc

Y ejecutamos conky por primera vez para ver como queda.

Nota: no te asustes si no queda exactamente como el de la imagen o si algunos indicadores no funcionan correctamente y las fuentes no se ven correctamente, en este artículo veremos como ajustarlo lo más posible a nuestro sistema.

Editamos el archivo de configuración y empezamos a modificarlo:
$ gedit ~/.conkyrc


  • Opciones generales
En la primera parte del archivo encontramos las opciones generales que determinarán la posición, los colores, el tipo de letra, el comportamiento y muchos otros factores.

Tiene un aspecto como este:

use_xft yes
xftfont Bauhaus:size=10
xftalpha 0.8
text_buffer_size 2048
update_interval 1
total_run_times 0
own_window yes
own_window_transparent yes
own_window_type override
double_buffer yes
minimum_size 180 0
draw_shades no
draw_outline no
draw_borders no
stippled_borders 0
border_margin 5
border_width 1
default_color white
own_window_colour white
alignment top_right
gap_x 35
gap_y 50
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale yes
use_spacer none

La mayoría de estas opciones se explican por sí mismas pero si no entendeis alguna podeis consultar la pagina del manual de conky:
$ man conky


  • Monitores
Entramos ahora en la parte del archivo donde se configuran todos los monitores, indicadores e informaciones que mostrará conky. Lo he dividido en secciones para que sea más fácil analizarlo y entenderlo.

Aun así hay una serie de opciones genéricas que vale la pena conocer antes de continuar, lo veremos mejor en un ejemplo:
${voffset 2}${font OpenLogos:size=16}u${font} Kernel: ${alignr}${kernel}

Esta linea mostrará el logo de Ubuntu y la versión del kernel alineada a la derecha, veamoslo en detalle:
voffset = desplazamiento vertical, para ajustar la posición de objetos de diferentes tamaños
font "nombre_fuente:size=tamaño" = define el nombre de la fuente y el tamaño (el logo de Ubuntu es en realidad el carácter "u" con la fuente OpenLogos)
alignr = alinea a la derecha lo que venga después
kernel = muestra la versión del kernel actual

Ya estamos preparados para entrar de lleno en la configuración de nuestro conky.


  • Sección sistema
Aquí mostramos información general sobre el hardware y el software

SISTEMA ${hr 2}
${voffset 2}${font OpenLogos:size=16}u${font} Kernel: ${alignr}${kernel}
${font StyleBats:size=16}A${font} CPU1: ${cpu cpu1}% ${alignr}${cpubar cpu1 8,60}
${font StyleBats:size=16}A${font} CPU2: ${cpu cpu2}% ${alignr}${cpubar cpu2 8,60}
${font StyleBats:size=16}g${font} RAM: $memperc% ${alignr}${membar 8,60}
${font StyleBats:size=16}j${font} SWAP: $swapperc% ${alignr}${swapbar 8,60}
${font Pie charts for maps:size=14}7${font} HDD: $diskio ${alignr}${diskiograph 8,60}
${font StyleBats:size=16}q${font} Uptime: ${alignr}${uptime}


Los comandos conky usados aquí y sus parámetros son:
kernel = muestra la versión del kernel actual
cpu "numero_de_cpu" = muestra el % de uso de la cpu o core seleccionado
cpubar "numero_de_cpu altura,anchura" = muestra gráficamente el % de uso de la cpu o core seleccionado
memperc% = muestra el % de uso de memoria
membar "altura,anchura" = muestra gráficamente el uso de memoria
swapperc% = muestra el % de uso de swap
swapbar "altura,anchura" = muestra gráficamente el uso de swap
diskio = muestra el valor de la transferencia actual de datos en disco
diskiograph "altura,anchura" = muestra gráficamente el acceso a disco
uptime = muestra el tiempo transcurrido desde el ultimo arranque


  • Sección fecha
En esta sección definiremos el reloj y el calendario, el código es este:

FECHA ${hr 2}
${font Arial Black:size=26}${alignc}${time %H:%M}${font}
${alignc}${time %A}, ${time %d}/${time %m}/${time %Y}


El comando de conky que utilizaremos es time y los parámetros más importantes aquí son:
%H = horas
%M = minutos
%S = segundos
%A = día de la semana
%d = día del mes
%m = mes
%Y = año


  • Sección disco
En esta sección analizaremos el estado de nuestras particiones, dando datos numéricos y gráficos de la capacidad de cada sistema de ficheros y su ocupación. El código es este:

Disco ${hr 2}
${voffset 4}${font Pie charts for maps:size=14}7${font} ${voffset -5}Sistema:
${voffset 4}${fs_used /}/${fs_size /} ${alignr}${fs_bar 8,60 /}
${font Pie charts for maps:size=14}7${font} ${voffset -5}Home:
${voffset 4}${fs_free /home}/${fs_size /home} ${alignr}${fs_bar 8,60 /home}
${voffset 4}${font Pie charts for maps:size=14}7${font} ${voffset -5}Multimedia:
${voffset 4}${fs_used /media/multimedia}/${fs_size /media/multimedia} ${alignr}${fs_bar 8,60 /media/multimedia}


Los comandos de conky usados aquí serán fs_used, fs_size (que tienen como parámetro el punto de montaje) y fs_bar (que tiene como parámetros el punto de montaje y los valores de altura y anchura de la barra):
fs_used / = muestra el valor del espacio ocupado de la partición "/"
fs_size / = muestra el valor del tamaño de la partición "/"
fs_bar 8,60 / = muestra gráficamente la ocupación de la partición "/" en una barra de 8 puntos de alto y 60 puntos de ancho

Substituyendo "/" por el punto de montaje de otra partición obtendremos los datos de esa partición.


  • Artículos relacionados
Conky, un monitor de sistema ultraligero
Conky a fondo (Segunda parte)


  • Enlaces de interés
http://conky.sourceforge.net/
http://screenlets.org/index.php/WaterMark

14 comentarios:

N0xTrUm dijo...

Muy currado el post, la verdad que cada día los haces mejor maquina.

Sigue así! :)

RuiXordo dijo...

Enhorabuena por el blog. Artículos realmente interesantes.

Te recomendaria poner una etiqueta "more" en los posts para que no se hagan tan largos en la presentación y así poder navegar mas comodamente entre ellos.


Un saludo

fosco_ dijo...

@RuiXordo lo del "more" estaría bien, pero creo que blogger no tiene esa opción, si sabes como ponerlo no dudes en contármelo :-)

@N0xTrUm pues espérate a ver la segunda parte del artículo...

Kpru dijo...

encara estic de vacances ;)

piponazo dijo...

Me ha gustado eso del $diskio, no conocía de su existencia. Buen post ;)

iMonje dijo...

Hola!! podrías enviarme la configuración del conky al correo, no funciona la pagina de boxstr.com o por lo menos a mi no me carga :S y es que esta muy currada esa configuracion.. un saludo! ismael.monje@gmail.com

d1m1 dijo...

Excelente el blog. Tengo recién instalado Ubuntu 9.04 64 bits en mi maquina, y quería configurar conky a mi gusto basándome en este post. Sin embargo, tengo el mismo problema que iMonje; la pagina no carga, y no puedo bajar el archivo original. Si lo puedes poner dentro de tags de código o subirlo otra parte, lo agradecería mucho. Pensé en copiarlo desde cada una de las secciones, pero supuse que era mala idea por si omitía algo sin querer.

fosco_ dijo...

Para todos los que no os funciona el enlace de desacrga de mi archivo de configuracion podeis descargar el Conky Colors que es el que usé como base y con las explicaciones del artículo lo transformais a vuestro gusto.

Jorge dijo...

Esta muy bueno el manual, pero tengo un problema, tengo instalado Ubuntu Ultimate 2.2 -- 9.04, instale conky y viene por default, el tema es que cuando cargo las carpetas script y font mas el archivo .conkyrc y lanzo nuevamente el conky, me sigue por default no cambia en nadfa el aspecto, tengo un core 2 duo

fosco_ dijo...

@Jorge: seguramente es que no has puesto el archivo conkyrc en su sitio, debe estar en tu home, con permisos 755 y debe tener un . delante.

Si ya lo tienes así y no lo usa puedes usar conky -c "ruta al archivo conkyrc"

GabrielDigiart dijo...

Hola. Queria agradecerte aunque aun no leo nada xD.

Aprovecho de avisarte que tu primer enlace de la pagina, el que va a "..., un monitor de sistema ultraligero" esta mal enlazado. pues viaja a la misma pagina que estamos visualizando actualmente.

Eso nada mas.
Gracias denuevo.

Saludos

fosco_ dijo...

Cierto, el enlace está mal, ahora lo arreglo. Gracias

Anxo dijo...

Gracias! Gran trabajo. De lo mejorcito que he encontrado de manuales de Conkys.

Seríe interesante si hicieses una parte 3 con más cosas,detalles,etc...

Un saludo!

GooSe dijo...

Hola, muy buena explicación, ahora, con el tema de "time %A" o "%a" no se si a alguien le pasa lo que a mi.
El tema es ... acentos, cuando tiene que poner miércoles o sábado con acentos, pone dos o tres letras más y se lee cualquier cosa, "miA@" en vez de "mié"
He probado con distintas fuentes, que si tienen los acentos, pero no hay caso
Gracias.