Instalación y configuración de conky

Conky es un monitor del sistema altamente configurable y con atractiva apariencia (posibilidad de transpariencia, uso de múltiples fuentes, colores, barras de progreso, etc). Su bajo consumo de recursos lo hace ideal para ordenadores poco potentes frente a alternativas tales como el monitor del sistema de gnome, las applets (cpu, memoria, sistema de ficheros, etc) de gnome o kde, o incluso como gkrellm.

A día de hoy, conky se encuentra en los repositorios oficiales de debian:

  • testing (utils): highly configurable system monitor for X based on torsmo 1.4.1-1: amd64 1.4.0-0.1: alpha arm hppa i386 ia64 mips mipsel powerpc s390 sparc.
  • unstable (utils): highly configurable system monitor for X based on torsmo 1.4.1-1: alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc.

Podéis ver la lista completa aquí



Es recomendable instalar la versión 1.4.1-1, que corrige errores y añade funcionalidad al paquete.


1) Prerequisitos para el funcionamiento de conky

La configuración dependerá del escritorio que usemos; en kde y xfce4 podemos pasar directamente a editar el archivo de configuración "conkyrc.sample", que podemos extraer de /usr/share/doc/conky/examples/conkyrc.sample.gz, y copiarlo con el nombre ".conkyrc" en el home de nuestro usuario (ir a 2). Para Gnome, por problemas con Nautilus, debemos realizar una de las siguientes acciones:

a) Deshabilitar "show desktop" en Aplicaciones- Herramientas del Sistema- Editor de configuración- Apps- Nautilus- Preferences. La desventaja de esto es que no podremos tener iconos en el escritorio, y no funcionará el menú contextual del botón derecho del ratón.

b) Instalar "devilspie", y crear en el home de nuestro usuario la carpeta ".devilspie". Crearemos el contenido de esta carpeta: un archivo llamado "conky.ds" con el siguiente contenido:

(if (matches (window_name) ".*conky") (begin pin (skip_pager) (skip_tasklist)))

A continuación ejecutamos "devilspie" y pasamos al apartado de configuración.


2) Configuración

El archivo conkyrc.sample proporcionado por el paquete conky contiene por defecto un buen número de monitores (cpu, memoria, conexiones por red, monitor de red, monitor de mpd, xmms...). Si nos dirigimos a la página web de conky, tenemos varios ejemplos de ".conkyrc" y screenshots de la configuración de conky de varios usuarios. Las posibilidades son enormes... Este es mi .conkyrc actual, por ejemplo:


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

background yes



cpu_avg_samples 2

net_avg_samples 2



out_to_console no



# X font when Xft is disabled, you can pick one with program xfontsel

#font 7x9

#font 6x10

#font 7x13

#font 8x13

#font 7x12

#font *mintsmild.se*

#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*

#font -artwiz-snap-normal-r-normal-*-*-100-*-*-p-*-iso8859-1



# Use Xft?

use_xft yes



# Xft font when Xft is enabled

xftfont monospace-8



own_window_transparent yes

#own_window_colour black



# Text alpha when using Xft

xftalpha 0.8



on_bottom yes



# mail spool

mail_spool $MAIL



# Update interval in seconds

update_interval 1



# Create own window instead of using desktop (required in nautilus)

own_window yes



# Use double buffering (reduces flicker, may not work for everyone)

double_buffer yes



# Minimum size of text area

minimum_size 5 5

maximum_width 290



# Draw shades?

draw_shades no



# Draw outlines?

draw_outline no



# Draw borders around text

draw_borders no



# Stippled borders?

stippled_borders 0



# border margins

border_margin 10



# border width

border_width 2



# Default colors and also border colors

default_color white

default_shade_color white

default_outline_color white



# Text alignment, other possible values are commented

#alignment top_left

alignment top_right

#alignment bottom_left

#alignment bottom_right



# Gap between borders of screen and text



gap_x 10

gap_y 20



# Add spaces to keep things from moving about? This only affects certain objects.

use_spacer yes



# Subtract file system buffers from used memory?

no_buffers yes



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

uppercase no



#xmms_player infopipe

# boinc (seti) dir

# seti_dir /opt/seti



TEXT

$alignc $nodename - $sysname $kernel - $freq Mhz

$alignc ip publica: ${addr eth0}

$alignc Uptime: $uptime | ${color white}load: ( ${color white}$loadavg ${color white})

CPU:${color white}${color white} ${cpu}% ${cpubar}

${color white}RAM: $memperc% ${membar}

$alignc ${color white}procesos: ${color white}$processes ${color white}corriendo: ${color white}$running_processes ${color white}users: ${execi 8 ~/scripts/.conky_users}

$stippled_hr

${color white}eth0 ${downspeedf eth0}${color white}k/s down ${color white}${upspeedf eth0}${color white}k/s up

${color white}${downspeedgraph eth0 25,120 ff0000 0000ff} ${color white}${upspeedgraph eth0 25,120 0000ff ff0000}

${color white}Trafico total: ${color white}${totaldown eth0} ${color white}Trafico total: ${color white}${totalup eth0}

${color white}eth1 ${downspeedf eth1}${color white}k/s down ${color white}${upspeedf eth1}${color white}k/s up

${color white}${downspeedgraph eth1 25,120 ff0000 0000ff} ${color white}${upspeedgraph eth1 25,120 0000ff ff0000}

${color white}Trafico total: ${color white}${totaldown eth1} ${color white}Trafico total: ${color white}${totalup eth1}

${color #ffccaa}Conexiones remotas

${color white} sshd: ${tcp_portmon 22 22 rip 0} ${color white} sshd: ${tcp_portmon 22 22 rip 1}

${color white} nbios: ${tcp_portmon 135 139 rip 0} ${color white} nbios: ${tcp_portmon 135 139 rip 1}

${color white} ms: ${tcp_portmon 445 445 rip 0} ${color white} ms: ${tcp_portmon 445 445 rip 1}

${color white} apt: ${tcp_portmon 3142 3142 rip 0} ${color white} apt: ${tcp_portmon 3142 3142 rip 1}

${color white} ftp: ${tcp_portmon 21 21 rip 0} ${color white} ftp: ${tcp_portmon 21 21 rip 1}

${color white} amuled: ${tcp_portmon 4712 4712 rip 0} ${color white} amuled: ${tcp_portmon 4712 4712 rip 1}

${color white} gnump3d: ${tcp_portmon 8888 8888 rip 0} ${color white} gnump3d: ${tcp_portmon 8888 8888 rip 1}

${color #ffccaa}Uso del Procesador y memoria

${color white}Nombre PID CPU% MEM%

${color white} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}

${color white} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}

${color white} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}

${color white} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}

${color white} ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}

${color #ddaa00}Port(s)${alignr}#Connections

$color ALL: ${alignr}$color ${tcp_portmon 1 65535 count}

$color ftp: ${alignr}$color ${tcp_portmon 21 21 count}

$color sshd: ${alignr}$color ${tcp_portmon 22 22 count}

$color torrent: ${alignr}$color ${tcp_portmon 6881 6999 count}

$stippled_hr

${color white}${execi 1800 /home/usuario/scripts/weather/weather.sh}

${font Bitstream Vera Sans:size=9}${alignc} ${color #ccccee} MPD:${color #88ff88} $mpd_status

${font Bitstream Vera Sans:size=9}${color} ${alignc} $mpd_artist

${font Bitstream Vera Sans:size=9}${color} ${alignc} $mpd_title

${font Bitstream Vera Sans:size=9}${color}${alignc} Volume: $mpd_vol Bitrate: $mpd_bitrate kbps

${color #ccddff} $mpd_bar $color

Si os fijais, todo lo que aparezca tras "TEXT" será lo que se vea en pantalla. Aparte de lo típico, tengo habilitado el monitor del gran Music Player Daemon y un monitor para saber la temperatura local; este último necesita de un script que podéis encontrar en la página de conky.
Es importante saber esto: el archivo de ejemplo que viene con el paquete habilita el monitor de conexiones remotas/puertos locales, en las líneas 184 a 199. Este monitor ralentiza el funcionamiento de conky, y hace que el programa "parpadee" (aparezca cuando se actualiza, y vuelva a desaparecer).

Pues nada más, si tenéis información del funcionamiento de conky en otros escritorios, será bienvenida, así como cualquier corrección o comentario a este artículo.

Enviado por antonioab el 10 Abril, 2006 - 18:08.

Quería agregar algunas cosas que quedaron en el tintero:

1) A día de hoy no he conseguido hacer funcionar el monitor de ssh; es ese monitor concretamente. No entiendo muy bien por qué; el resto de monitores (vsftpd, samba, gnump3d y apt-cache actualmente) funcionan sin problemas. El monitor de ssh funciona también sin problemas en gkrellm. Postearé aquí mismo algo en cuanto lo investigue mejor.

2) He cambiado ligeramente la configuración desde que envié el artículo. Para que la base de datos de esdebian no se atragante, pondré sólo los cambios ;)

#.conkyrc

own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

own_window_type normal

xmms_player infopipe # (requiere xmms-infopipe)

TEXT
$alignc $nodename - $sysname $kernel - $freq Mhz
$alignc ip publica: ${addr eth0}
$alignc Uptime: $uptime | ${color white}load: ( ${color white}$loadavg ${color white})
CPU:${color white}${color white} ${cpu}% ${cpubar}
${color white}RAM: $memperc% ${membar}
$alignc ${color white}procesos: ${color white}$processes ${color white}corriendo: ${color white}$running_processes ${color white}users: ${execi 8 ~/scripts/.conky_users}
$alignc ${color white}cpu temp: ${color white}${i2c 1-002d temp 1} C ${color white}cpu fan: ${color white}${i2c 1-002d fan 1} rpm
$stippled_hr
${color white}eth0 ${downspeedf eth0}${color white}k/s down ${color white}${upspeedf eth0}${color white}k/s up
${color white}${downspeedgraph eth0 25,120 ff0000 0000ff} ${color white}${upspeedgraph eth0 25,120 0000ff ff0000}
${color white}Trafico total: ${color white}${totaldown eth0} ${color white}Trafico total: ${color white}${totalup eth0}
${color white}eth1 ${downspeedf eth1}${color white}k/s down ${color white}${upspeedf eth1}${color white}k/s up
${color white}${downspeedgraph eth1 25,120 ff0000 0000ff} ${color white}${upspeedgraph eth1 25,120 0000ff ff0000}
${color white}Trafico total: ${color white}${totaldown eth1} ${color white}Trafico total: ${color white}${totalup eth1}
${color #ffccaa}Conexiones remotas
${color white} sshd: ${tcp_portmon 10022 10022 rip 0} ${alignc}${color white} sshd: ${tcp_portmon 10022 10022 rip 1}
${color white} nbios: ${tcp_portmon 135 139 rip 0} ${alignc}${color white} nbios: ${tcp_portmon 135 139 rip 1}
${color white} ms: ${tcp_portmon 445 445 rip 0} ${alignc}${color white} ms: ${tcp_portmon 445 445 rip 1}
${color white} apt: ${tcp_portmon 3142 3142 rip 0} ${alignc}${color white} apt: ${tcp_portmon 3142 3142 rip 1}
${color white} ftp: ${tcp_portmon 21 21 rip 0} ${alignc}${color white} ftp: ${tcp_portmon 21 21 rip 1}
${color white} amuled: ${tcp_portmon 4712 4712 rip 0} ${alignc}${color white} amuled: ${tcp_portmon 4712 4712 rip 1}
${color white} gnump3d: ${tcp_portmon 8888 8888 rip 0} ${alignc}${color white} gnump3d: ${tcp_portmon 8888 8888 rip 1}
${color #ffccaa}Uso del Procesador y memoria
${color white}Nombre PID CPU% MEM%
${color #ddaa00} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color white} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color white} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color white} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
${color white} ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}
$stippled_hr
${color white}${execi 1800 /home/usuario/scripts/weather/weather.sh}
${font Bitstream Vera Sans:size=9}${alignc} ${color #ccccee} MPD:${color #88ff88} $mpd_status
${font Bitstream Vera Sans:size=9}${color} ${alignc} $mpd_artist
${font Bitstream Vera Sans:size=9}${color} ${alignc} $mpd_title
${font Bitstream Vera Sans:size=9}${color}${alignc} Volume: $mpd_vol Bitrate: $mpd_bitrate kbps
${color #ccddff} $mpd_bar $color
${font Bitstream Vera Sans:size=9}${alignc} ${color #ccccee} XMMS: ${color #88ff88}$xmms_status
${font Bitstream Vera Sans:size=9}${color} ${alignc} $xmms_title
${font Bitstream Vera Sans:size=9}${color} ${alignc} $xmms_filename}
${font Bitstream Vera Sans:size=9}${color} ${alignc} $xmms_position ${font Bitstream Vera Sans:size=9}${color} ${alignc} $xmms_playlist_position/$xmms_playlist_length
${font Bitstream Vera Sans:size=9}${color}${alignc} Volume: $mpd_vol Bitrate: $xmms_bitrate kbps
${color #ccddff} $xmms_bar $color

#end of .conkyrc

Los cambios han mejorado la presentación del monitor de xmms, y sólo es necesario el script externo weather.sh (en la página de conky).

Ale, a toquetear ;)

Enviado por maxmalkav el 11 Abril, 2006 - 16:43.

Ole ole!
own_window yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_type normal

Estas eran las líneas claves para que me funcionase bien el conky en
KDE sin problemas de parpadeos ni redibujados.

El artículo genial ;) Muchas gracias por todo

Saludos