Conky es un monitor de sistema como muchos otros, lo que lo hace especial y que le da la ventaja sobre los demas, es la gran capacidad de configuracion que tiene, desde unos cuantos mensajes en modo texto, hasta graficas y barras de estado de los diferentes aspectos de nuestra PC la memoria swap, ram, los sistemas de archivo, procesos, procesadores, etc..
En este articulo, vamos a ver desde la instalacion hasta la configuracio basica del archivo conkyrc, que es el archivo de configuracion del conky.
La instalacion, como cualquier otra aplicacion de ubuntu, la instalamos con apt-get
El archivo de configuracion .conkyrc se localiza en el directorio personal, como pueden notar al tener el punto antes del nombre nos indica que es un archivo oculto, ahora vamos a ver el siguiente ejemplo:
Este es el mio:
Y este es el codigo
background no
cpu_avg_samples 2
net_avg_samples 2
update_interval 1
default_color white
default_shade_color black
default_outline_color blue
draw_borders no
draw_shades no
border_margin 1
border_width 1
gap_x 20
gap_y 20
minimum_size 200
maximum_width 200
override_utf8_locale yes
use_xft yes
xftfont Terminus:size=8
xftalpha 0.8
own_window yes
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
use_spacer yes
double_buffer yes
no_buffers yes
TEXT
${color #ffffff}${font Zekton:style=Bold:pixelsize=30}${alignc}${time %H:%M:%S}
${color #FFCC66}${font Zekton:style=Bold:pixelsize=12}${alignc}${time %A %d de %B}
${color #33CCFF}${font weather:size=60}${execi 600 ~/scripts/conditions.sh}${alignc}${font}${execi 1200 ~/scripts/pogodynka.sh}
${color}${font StyleBats:size=14}O ${font}${color #0077ff}Encendido: ${color }$uptime
${color }${font StyleBats:size=14}Q ${font}${color #0077ff}Kernel:${color }$kernel
${color}${font StyleBats:size=14}A ${font}${color #00FF99}CPU-1:${color } ${cpu cpu0}%
${cpugraph cpu0 20,200 ff0000 0000ff}
${color}${font StyleBats:size=14}A ${font}${color #00FF99}CPU-2:${color } ${cpu cpu1}%
${cpugraph cpu1 20,200 ff0000 0000ff}
${color}${font StyleBats:size=14}A ${font}${color #00FF99}CPU-3:${color } ${cpu cpu2}%
${cpugraph cpu2 20,200 ff0000 0000ff}
${color}${font StyleBats:size=14}8 ${font}${color #FF3333}TOP CPU:
${color #ddaa00} ${top name 1}${top cpu 1}
${color lightgrey} ${top name 2}${top cpu 2}
${color lightgrey} ${top name 3}${top cpu 3}
${color}${font StyleBats:size=14}8 ${font}${color #FF3333}TOP MEM:
${color #ddaa00} ${top_mem name 1}${top_mem mem 1}
${color lightgrey} ${top_mem name 2}${top_mem mem 2}
${color lightgrey} ${top_mem name 3}${top_mem mem 3}
${color #0077ff}MEM: ${color } $memperc% $mem/$memmax
${membar 4,200}
${color #0077ff}SWAP: ${color } $swapperc% $swap/$swapmax
${swapbar 4,200}
${color #0077ff}ROOT: ${color }${fs_free /}/${fs_size /}
${fs_bar 4,200 /}
${color #0077ff}SDA1: ${color }${fs_free /media/sda1}/${fs_size /media/sda1}
${fs_bar 4,200 /media/sda1}
${color #0077ff}SDA5: ${color }${fs_free /media/sda5}/${fs_size /media/sda5}
${fs_bar 4,200 /media/sda5}
${color #0077ff}WIFI: ${color #888888}IP: ${color #CCCCCC}${addr eth1}
${color #0077ff}Senal: ${color }${wireless_link_qual_perc eth1} ${wireless_link_bar 4 eth1}
${color #0077ff}DOWN: ${color #CCCCCC}${downspeed eth1} k/s ${color #0077ff}UP: ${color #CCCCCC}${upspeed eth1} k/s
${color #888888}${downspeedgraph eth1 25,90 ff0000 0000ff}${alignr}${color #888888}${upspeedgraph eth1 25,90 0000ff ff0000}
${color #0077ff}TOTAL: ${color #CCCCCC}${totaldown eth1} ${color #0077ff}TOTAL: ${color #CCCCCC}${totalup eth1}
Lo primero que hay que hacer es lo siguiente, como podran ver el conky tiene unas imagenes en los monitores como iconos, estas solo letras de fuentes especiales entonces instalaremos estas fuentes en nuestro sistema las fuentes a usar son weather y StyleBats, las encuentran [aqui]
Hay que desempaquetar y copiar las fuentes al directorio correspondiente
Nos cambiamos al directorio que acabamos de crear y copiamos las fuentes a una carpeta que crearemos que se llamara misfuentes
sudo mkdir /usr/share/fonts/truetype/misfuentes
sudo cp weather.ttf StyleBats.ttf PizzaDude\ Bullets.ttf /usr/share/fonts/truetype/misfuentes
Le indicamos al sistema que actualice las fuentes
Para poder ver el estado del clima en el conky vamos a usar los siguientes script:
Ahora veremos la configuracion de Conky, en lo que se refiere a comportamiento y caracteristicas del sistema.
#Este es el espacio que tendra de margen el conky con respecto a la pantalla, en estas cordenadas tendra el espacio sufisiente para aparecer debajo de la barra superior del escritorio, expresado en pixeles
gap_x 20
gap_y 20
#Indicamos el ancho del monitor del conky en pixeles
minimum_size 200
maximum_width 200
#Forzar el uso de UTF8
override_utf8_locale yes
#Si usamos UTF8 es necesario usar xft
use_xft yes
#Indicamos la fuente y tamano a usar en el monitor
xftfont Terminus:size=8
#Trasparencia que tendra el texto XFT
xftalpha 0.8
#Ejecutarlo en su propia ventana en lugar de usar el escritorio (requerido con nautilus)
own_window yes
#Usar transparencio con own_window yes/no
own_window_transparent yes
# Si pusiste yes en own_window, entonces estos hints del gestor de ventana puede ser tilizado
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
#Esto es para que se visualize en los demas escritorios, si los usamos
use_spacer yes
double_buffer yes
no_buffers yes
Despues de la configuracion del Conky, sigue una seccion llamada TEXT, todo lo que pongamos despues de esta seccion se visualizara en pantalla, desde un texto como hola, hasta un monitor de X servicio de la computadora, empecemos por algo sencillo.
Para esto se usa una serie de variables o mas bien funciones, a las cuales les pasamos ciertos parametros, y como resultado obtenemos un monitor.
Empesemos con esto:
Aqui estamos invocando a la funcio time, el %H indica las horas el ":" lo imprime tal cual despues %M minutos y %S segundos. Si no le ponemos ninguna variable de formato tomara los valores declarados por default.
Aqui estamos dando algo de formato, a la hora,la primera variable indica el color de la fuente a usa en hexadesimal #ffffff se puede sustituir por cualquier otro valor correspondiente a un color
Despues indicamos otra fuente, estilo y tamano a usar
Y por ultimo le indicamos que la alineacion sera centrada (solo existe centrada y derecha ${alignr}).
Y la variable a la que se le asigna todo este formato
Cabe hacer la aclaracion que este formato es unicamente para esta linea, todas las variables monitores etc.., que se pongan en ese renglon tendra ese formato, si se pone un renglon abajo y no se indica el formato adoptara los valores por default, por eso se repite el formato, encada reglon.
La siguiente linea es la de la fecha
Como se daran cuenta se repite la seccion del formato que se le dara a esta variable, color, fuente, estilo, tamaño y alineacion.
El %A indica el dia de la semana %d el dia en fecha, "de" se imprime tal cual en pantalla, y %B es el mes.
La siguiente linea es la que ejecuta el script conditions.sh y pogodynka.sh que si han el tutorial deberia estar en la carpeta scripts dentro de la carpeta personal en home.
Esta variable execi indica que se ejecutara un script con pid # en la ruta tal donde ~ es un alias para la ruta del directorio personal, por lo que no hay q cambiarlo
${execi 600 ~/scripts/conditions.sh}
${execi 1200 ~/scripts/pogodynka.sh} La siguiente linea sigue el mismo esquema que las anteriores, la variable $uptime indica el tiempo que la computadora ha esto encendida.
La siguiente linea hace referencia a la variable $kernel que nos da la imformacion del kernel que estamos usando
La siguiente variable nos dara elporcentaje del uso del cpuX donde X puede ser desde 0 hasta el n procesador que tenga su micro en el ejemplo se tienen 3 procesadores por eso se repite las mismas lineas y cambia a cpu0,cpu1,cpu2,
La siguiente linea nos dibujara una grfica de barra del uso del cpuX igual que la linea anterior hay que indicar cual es el numero del cpu del cual queremos la grafica, el siguiente numero (20) es el ancho despues el (200) la longitud de la barra, por ultimose indica un degradado de color para esto se indica en que color inicia (ff0000) y en que color termina (0000ff) estos colores seran en hexadecimal .
Las siguientes lineas indican los tres procesosprincipales que se estan ejecutando, la variable ${top name 1} indica el nombre del proceso 1 y la variable ${top cpu 1} el uso que esta haciendo del cpu dicho proceso, y asi consecutivamente.
Al igual que el Top Cpu el Top Mem hace lo mismo solo que con los procesos y su uso de la memoria
La siguiente linea usa dos variables que nos indica el uso de la memoria, la variable $memperc% nos da el porcentaje del uso de la memoria y la variable $mem/$memmax dos da el uso de la memoria contra el total de memoria disponible
La siguiente line dibuja una grafica del uso de la memoria como parametro solo recibe el ancho y lago de la barra
La siguiente linea usa dos variables que nos indica el uso de la memoria swap, la variable $swapperc% nos da el porcentaje del uso de la memoria swap usada y la variable $swap/$swapmax dos da el uso de la memoria contra el total de memoria swap disponible.
La siguiente linea al igual que la de memoria dibuja una grafiaca de barra con el ancho y largo indicado
La siguientes lineas dan la imformacion de espacio en disco La variable ${fs_free /} indica el espacio disponoble en disco duro, la variable ${fs_size /} indica en cantidades el espacio usado y el disponible de todo el disco duro o el sistema de archivos usado.
La siguente linea solo dibuja una grafia de barra del uso delsistema de archivos o D.D. del tamaño y largo indicado
Las siguientes lineas siguientes indican como la linea anterior el espacio disponible en otros discos duros, estos discos deben de estar montados y la diferencia es que hay que indicar el directorio en dondese han montado los discos duros, en este casso hay dos discos duros sda1 y sda5
La variable ${fs_free /media/sda1} indica el espacio disponible en dicho disco, montado en dicha direccion en este caso el directorio donde se monto fue /media/sda1
La variable ${fs_bar 4,200 /media/sda1} dibuja una grafica de barra del espacio en disco oviamente indicandole la ruta donde se monto
La siguiente linea indica la direccion Ip de la interfas de red deseada la variable ${addr eth1} es la que regresa la pireccion ip de la interfas de red eth1 la cual se puede cambir por cualquiera que este disponible en este caso eth1 es la tarjeta de red wireless
La siguiente linea da el porcentaje de la potencia de la señal y una grafica de la misma donde la variable ${wireless_link_qual_perc eth1} nos indica el porcentaje y ${wireless_link_bar 4 eth1} la grafica de la señal de la tarjeta eth1, para saber las interfases de red disponibles usar el comando iwconfig para tarjetas wireless y ifconfig para tarjetas ethernet
La siguiente linea nos da la velosidad de subida y descarga de nuestra interfas de red en kb la variable ${downspeed eth1} nos indica la velosidad de descarga y ${upspeed eth1} la velosidad de subida de la tarjeta de red eth1
La siguiente linea dibuja dos graficas que indican la velosidad de descarga y subida la variable ${downspeedgraph eth1 25,90 ff0000 0000ff} hace la grafica eth1 es la tarjeta de red que monitorea 25 y 90 son el ancho y alto de la grafica y ff0000 0000ff el color inicial y final con el que se dibujara la grafica, de la misma manera para ${upspeedgraph eth1 25,90 0000ff ff0000}
La ultima linea nos indicara el total en Mb de datos enviados y recividos la variable ${totaldown eth1} es la que indicara el total de datos descargados de la tarjeta de red eth1 y la variable ${totalup eth1} para los datos enviados.
Con esto terminamos la descripcion del codigo de configuracion del conky existen muchas otras variables de comfiguracion disponibles, aqui se mostraron las mas basicas para poder obtener un monitor vistoso y funcional.
Si desean mas inforamcion y variables visiten las siguientes paginas http://conky.sourceforge.net/variables.html y http://conky.sourceforge.net/config_settings.html
Espero haya sido explicito y no muy redundante.
Saludos
public_int
October 21st, 2008 at 2:52 am
una pregunta,
es posible cambiar un color dependiendo del estado de una variable ?
me explico, supongamos que muestro la temperatura de la cpu con letras blancas, ¿puede conky mostrar las letras en rojo cuando la temperatura pase cierto valor?
gracias.
JORGE
February 13th, 2009 at 9:06 pm
MUY BUENO TU HOW TO, HABIA BUSCADO PERO NO ENTENDIA LO DE LA DEMAS GENTE, TE AGREDEZCO EL TIEMPO QUE TE TOMASTE PARA EXPLICAR TODA TU CONFIGURACION Y ESTARE PENDIENTE DE LO NUEVO QUE POSTEES, SALUDOS DESDE MEXICO
yovany
February 18th, 2009 at 3:28 am
Muchas gracias Jorge me alegra saber que te sirvio.
Saludos
yojota
March 23rd, 2009 at 8:06 pm
Gracias me ha servido de gran ayuda, realmete muy bueno el tutorial, cualquier cosa si quieren les paso para que vean como quedo el mio
yovany
March 23rd, 2009 at 9:42 pm
Hola Yojota.
Gracias y por su puesto si nos mandas tu configuracion y la captura la posteamos
Saludos
Toño
February 1st, 2010 at 1:35 pm
Muy bueno…
gracias!!