Conky: EL monitor de sistema

conky-basatu1.png Nuevo artículo de Basaburu, esta vez explicando el funcionamiento de Conky, un monitor de sistema con poco consumo de recursos:

«He decidido meterle mano al tema de la gestión y el ahorro de energia (en ello ando). Para lo cual me he metido con los kerenls en desarrollo, para vigilar un poco como andan las cosas necesitaba un monitor de sistema que fuera configurable. La elección lógica es Conky una pequeña maravilla, estoy encantado. Así que pretendo en este How To compartir la experiencia.

El site del proyecto: http://conky.sourceforge.net

Para empezar (ya sabéis que soy Debianero convencido)….


# apt-get install conky


Esto os deja (entre otras cosas) lo siguiente:

/usr/share/doc/conky/docs.html <-- el contenido de la página man en html /usr/share/doc/conky/variables.html <-- las variables de ejecución /usr/share/doc/conky/config_settings.html <-- las variables de configuración /usr/share/doc/conky/README.Debian <-- chapa de Debian sobre conky /usr/share/doc/conky/examples/conkyrc.sample.gz <-- ejemplo de fichero de configuración

Conky se configura y define su funcionamiento en el fichero .conkyrc que hay que situar en el home del usuario ( $HOME ) y se lanza llamando a /usr/bin/conky o también utilizando lanzadores en los escritorios, en KDE situando un lanzador en $HOME/.kde/Autostart/conky.desktop

La configuración de Conky tiene dos partes, desde el principio del fichero .conkyrc hasta la palabra TEXT son configuraciones, a partir de la palabra TEXT se situan la variables de funcionamiento.

Como en todo 8=} lo mejor es salsear.

Podéis hacer dos cosas copiar el ejemplo /usr/share/doc/conky/examples/conkyrc.sample.gz a vuestro $HOME como .conkyrc y a partir de ahí irle añadiendo cosas.

O bien podéis coger ficheros ya configurados e ir haciendo modificaciones, en: http://conky.sourceforge.net/screenshots.html tenéis algunos ejemplos.

En mi opinión resulta mejor la segunda opción, te da mas ideas ya que la docu no me parece buena si no controlas un poco.

Vamos con el ejemplo, todavía esta muy verde, tengo que meter muchas cosas :=)

Se puede hacer practicamente todo, literal. Podéis reflejar en vuestro escritorio lo que queráis. O eso pienso yo.

Yo he cogido uno que me parecía interesante (http://conky.sourceforge.net/conkyrc-jc)

conky-jc.png

Y lo he adaptado a mi gusto, transparente como el ejemplo y como uso un wallpaper oscuro para ahorrar energía colores vivos:

conky-basatu1.png

Ahora vamos a ir viendo un poco mi fichero de configuración .conkyrc para ir comentando algunas cosas, meto comentarios.


# mantener espacio entre los distintos elementos (se consigue espacio metiendo retornos de carro entre variables así como espacios entre "palabras" de la línea)
use_spacer yes

# set to yes if you want tormo to be forked in the background
background no

# usar X fonts lo que te permite una variada selección
use_xft yes

# Xft font when Xft is enabled (elegir la fuente Xft)
xftfont Bitstream Vera Sans Mono-7
#xftfont Andale Mono-9
#xftfont Clean-8
#xftfont cubicfive10:pixelsize=8
#xftfont squaredance10:pixelsize=14
#xftfont swf!t_v02:pixelsize=10

# Text alpha when using Xft (esto no me he aclarado)
xftalpha 1

# Update interval in seconds (los segundos entre los intervalos de actualización)
update_interval 4.0

# This is the number of times Conky will update before quitting. (esto es por si queréis que una vez un número dado de ejecuciones se muera conky)
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus) (esto es un cristo para que funcione en kde y creo que en gnome también, tenéis que meter la última línea del fichero y las de "own_window", si no desaparecen los iconos, sale el fondo negro, parpadea, etc) pero salsear :) podéis dejarlo como una ventana normal

own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
own_window_type normal
own_window yes

# Use double buffering (reduces flicker, may not work for everyone) para que no parpadee
double_buffer yes

# Minimum size of text area (el tamaño de la caja de texto a presentar)
minimum_size 280 5
maximum_width 320

# Draw shades? (sombras.... si tenéis fondo claro muy chulo)
draw_shades no

# Draw outlines?
draw_outline no # amplifies text

# Draw borders around text
draw_borders no

# Draw borders around graphs
draw_graph_borders yes

# Stippled borders?
stippled_borders 8

# border margins
border_margin 4

# border width
border_width 1

# Default colors and also border colors, grey90 == #e5e5e5 (Los colores por defecto, pero de colores mas abajo)
default_color grey90
default_shade_color black
default_outline_color DarkGrey

# Text alignment, other possible values are commented (donde queréis la caja)
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text (espacio entre la caja y los bordes, para salvar la barra de tareas, si no se mete debajo, le he puesto 30 al eje y)
gap_x 6
gap_y 30

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

###################### Configure Colours ##########################

# Bueno lo de los colores es una pasada ya podéis lanzar KColorChooser o su equivalente en otros escritorios, aquí los colores van en RGB Hexadecimal y los podéis usar donde queraís.... aquí se pueden definir hasta 10 colores para usarlos luego sin tener que estar metiendo todo el rato los códigos RGB.

# Main headers
color0 FF8C00
# TOP headers
color1 FFCB48
#sección
color2 52C3C7
#sección resaltada
color3 00DDE1
# text cabecera
color4 E12979

# stuff after 'TEXT' will be formatted on screen (A partir de la palabra 'TEXT' empieza el formateo de la pantalla)

TEXT
$color0$nodename$color $sysname $kernel on $machine $alignr Uptime: $uptime

$color4 Batt:$color ${battery} $alignc ${color #E1D93F}${battery_bar 8} $color

$color0[ PROCESSING ] $hr $color
$color2 CPU Usage: ${color #E1D93F}$cpu% ${cpubar cpu0 6,75} ${execi 30 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor} $alignr $freq_g GHz $color

${color #3399FF}Core0: ${cpu cpu1}% ${cpubar cpu1 6,75} $color ${color #9933FF}Core1: ${cpu cpu2}% ${cpubar cpu2 6,75}$color
${color #3399FF}${cpugraph cpu1 25,150 000000 #3399FF}$color ${color #9933FF}${cpugraph cpu2 25,150 000000 #9933FF}$color
$color2$alignc Processes: $processes Running: $running_processes Load: $loadavg $color

${color #98c2c7}NAME PID ${color #69FAFF}CPU%$color ${color #98c2c7}MEM%
${color #e5e5e5}${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color #c4c4c4}${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color #a3a3a3}${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color #828282}${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}

${color #98c2c7}NAME PID CPU% ${color #69FAFF}MEM%
${color #e5e5e5}${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}
${color #c4c4c4}${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}
${color #a3a3a3}${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}
${color #828282}${top_mem name 4} ${top_mem pid 4} ${top_mem cpu 4} ${top_mem mem 4}

$color0[ TEMPS ] $hr $color
${color #5C9CD9}CPU0 temparature: ${execi 10 cat /proc/acpi/thermal_zone/TZ00/temperature | grep '[0-9][0-9]' -o} C
CPU1 temparature: ${execi 10 cat /proc/acpi/thermal_zone/TZ01/temperature | grep '[0-9][0-9]' -o} C
nVidia Geforce Go 7600 ${execi 10 nvclock -T |grep "temperature" | grep '[0-9][0-9]' -o} C $color

$color0[ DATUAK ] $hr $color
${color #98c2c7}RAM:$color $mem/$memmax $memperc% ${color #78af78}${membar 6,140}${color}
${color #98c2c7}Swap:$color $swap/$swapmax $swapperc% ${color #78af78}${swapbar 6,140}$color

${color #98c2c7}/boot:$color ${fs_free_perc /boot}% ${fs_free /boot}${color #78af78} ${fs_bar 6 /boot}$color
${color #98c2c7}/:$color ${fs_free_perc /}% ${fs_free /}${color #78af78} ${fs_bar 6 /}$color
${color #98c2c7}/home:$color ${fs_free_perc /home}% ${fs_free /home}${color #78af78} ${fs_bar 6 /home}$color

$color0[ NETWORK ] $hr $color
IP Address: ${addr eth0}
Down:${color green} ${downspeed eth0} KB/s ${offset 80}$color Up:${color red} ${upspeed eth0} KB/s
$color ${color green}${downspeedgraph eth0 25,150 000000 00CC00 80}$color ${color red}${upspeedgraph eth0 25,150 000000 CC0000 20} $color
$color$alignc Inbound: ${tcp_portmon 1 32767 count} Outbound: ${tcp_portmon 32768 61000 count} All: ${tcp_portmon 1 65535 count}

$color0 [ LOGGING ] ${hr 2}$color
${execi 30 tail -n6 /var/log/messages | fold -w53}

# esta línea es fundamental para poder tener conky transparente en un escritorio KDE
${exec feh --bg-scale `dcop kdesktop KBackgroundIface currentWallpaper 1`}

Pues nada a disfrutar...... no estaría de más que los que uséis conky dejaráis en los comentarios vuestro .conkyrc y una imagen del mismo poned enlaces. Por fa.

Esto casi es una cuestión artística además de funcional.

copyleft BasaBuru 2007-11-06"

3 comentarios en «Conky: EL monitor de sistema»

  1. es una tontería de comentario, pero, tenía entendido que en pantallas TFT el color negro gasta más energia que el blanco. Osea justo al contrario de lo que ocurria con las pantallas de tubo… (aunque quizas uses una de éstas pantallas… En ese caso obvia esto je, je…

    Por lo demás, genial aporte!!

  2. Yo lo tuve en un sistema Gentoo con Fluxbox y la verdad es que resultaba bastante útil y informativo sin llegar a ‘estorbar’.

    Además, la configuración resulta bastante intuitiva una vez que has encontrado un manual decente y alguna configuración de ejemplo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.