domingo, 4 de enero de 2009

conky ubuntu fedora arch linux

Para completar la configuración del escritorio, os traigo sin duda, la aplicación más configurable al respecto, capaz de monitorizar todo lo relacionado con discos duros (capacidad, temperaturas), ram, cpu, conexión de red (velocidad o cantidad total de información bajada y subida), y todo tipo de datos de laConky placa madre (temperaturas, intensidades, rpm de los ventiladores...)..., y por si fuera poco de incluir todos los servicios que se te puedan ocurrir, desde indicador de mensajes de correo, lector de titulares de noticias, dar la previsión del tiempo, informar de las descargas del mldonkey, o de la canción que estés escuchando, ... Y todo ello consumiendo muy poca memoria, sin duda menos que cualquier otro programa de monitorización.

Para descargarlo, simplemente teclear en consola:
Debian Ubuntu # sudo apt-get install conky
Fedora $ su
contraseña de root
# yum install conky
Arch Linux # pacman -S conky

Otro punto fuerte del programa como ya he dicho es que es altamente configurable, claro, eso tiene un problema, la configuración te lo tienes que currar tú. La configuración consiste en un archivo situado en tu carpeta personal con el nombre de .conkyrc y en el que va todas las opciones del programa.
Podeís empezar usando el archivo de ejemplo que trae el programa, se encuentra en /usr/share/doc/conky/examples, descomprimís el archivo que contiene en vuestra carpeta personal y renombrándolo a .conkyrc (ten en cuenta que al ser un nombre con un punto delante, en linux es un archivo oculto y para al navegar por un directorio y poder verlo deberás habilitar ver archivos ocultos, simplemente CTRL+H.
También puedes descargarte alguno de los .conkyrc que tienen como ejemplos en la propia página de ejemplos del programa, como verás la variedad es grande.

El archivo .conkyrc se divide en dos partes, en la primera parte es donde se colocan los valores de configuración del programa, que si es transparente, que si usa esta fuente o la otra, que donde se coloca en la pantalla, que qué tamaño, ... Para una explicación más profunda, en inglés: conky setting. En la segunda parte es donde ya se decide qué es lo que se monitoriza, dónde, cómo, con qué color... Para ello se dispone de multitud de variables a usar, una explicación detallada de cada una se encuentra en conky variables.

Si vais analizando los archivos .conkyrc que hay de ejemplo iréis viendo como se estructura el archivo, primero los valores de configuración, precedidos generalmente de un hilo de comentario (que comienza por #) para explicar su función. En mitad de archivo un hilo con el texto TEXT que indica el principio de la parte en la que se indican las variables a monitorizar.

Aparte de las variables generícas que trae por defecto se le puede hacer que ejecute cualquier script que se os ocurra, mediante el uso de las variables exec y execi (exec no se recomienda para nada porque consume bastante más memoria que el resto) con lo que su funcionalidad se hace inmensa:

Leer el correo de gmail: haciendo uso de gmail.py.
Puede optar desde mostrar únicamente el número de mensajes nuevos hasta el remitente, asunto, etc de los n ultimos mensajes recividos.

Lector de noticias, conky-rss.sh:
Eligiendo la fuente de noticias, así como el número de noticias a mostrar dispondrás de los últimos titulares en el escritorio.

Amarok
En este caso se puede usar el DCOP, una exensión en perl que permite comunicarse con amarok, y que instala con el propio amarok.
Las variables tipo usando este procedimiento: ${execi 10 dcop amarok player "Propiedad"}, mira todas las propiedades que tienes disponibles. Además, para poder representar una barra de progreso de canción uso este pequeño script:

#!/bin/bash
#
# requirements: amaroK (!)


case "$1" in

# % progress
progress)
stat=`dcop amarok player status`
if (( $stat == 1 )); then
expr 100
else
curr=`dcop amarok player trackCurrentTime`
tot=`dcop amarok player trackTotalTime`
if (( $tot )); then
expr $curr \* 100 / $tot
fi
fi
;;
esac
Incluso se pueden sacar datos sobre la colección de música, para ello échale un vistazo a este .conkyrc.

XMMS:
De diferente manera pero con identico resultado se puede hacer también que muestre la información sobre la pista actualmente, haciendo uso de este script.
Necesitarás tener instalado el infopipe para poder comunicarte con xmms, si no:
sudo apt-get install xmms-infopipe

Calendario:
Simplemente haciendo uso de la función cal, si la usas en la terminal comprobarás las funciones que tiene, desde representar un mes, el mes actual y el siguiente, ... Esta función requiere hacer uso de una fuente monospace para representarla sin que se descuadre.

Estado del tiempo:
Haciendo uso de estos archivos, que puedes editar para organizar la forma de representar los datos.


Para un listado exhaustivo de ejemplos con sus correspondientes .conkyrc, pásate por el larguísimo hilo al respecto en ubuntuforums.


Como ejemplo pego aquí mi .conkyrc:

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

# X font when Xft is disabled, you can pick one with program xfontsel
#font 5x7
#font 6x10
#font 7x13
#font 8x13
#font 9x15
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*


# Use Xft?
use_xft yes

# Xft font when Xft is enabled
#xftfont Bitstream Vera Sans Mono:size=8
xftfont Terminus:size=8

# Text alpha when using Xft
xftalpha 0.8

# Print everything to console?
# out_to_console no

# mail spool
mail_spool $MAIL

# Update interval in seconds
update_interval 5.0

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_type override

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

# Minimum size of text area
minimum_size 5 5
maximum_width 160

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no
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
default_color white
default_shade_color black
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
# same thing as passing -x at command line
gap_x 860
gap_y 2

# 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


# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer no
#Note: doesn't work in conky 1.2 =(


TEXT


${color #888888}jjgomera@$nodename ${color #CCCCCC}- ${color #888888}$machine
${color #888888}$sysname $kernel
${color #888888}UpTime: ${color }$uptime
${color #0077ff}${time %a-%d/%b/%y}${alignr}${time %k:%Mh}
${color}${hr 2}
${alignc}${color #0077ff}CPU
${voffset 5}${color #888888}Freq: ${color}2 x ${freq_dyn}MHz
${color #888888}${cpugraph 20 160 ff0000 0000ff}
${color }$cpu% ${color #ff0000}${cpubar 4}
${voffset 5}${color #888888}Carga: ${color }$loadavg
${color #888888}Temp:${color #ff0000} ${i2c temp 1} ${i2c temp 2} ${color}${i2c temp 3} C
${color #888888}Ventilador:${color } ${i2c fan 1} RPM
${color #888888}Int:${alignr}${color } ${i2c in 0} ${i2c in 1} ${i2c in 2} ${i2c in 3} ${i2c in 4} A
${alignr}${color }${i2c in 5} ${i2c in 6} ${i2c in 7} ${i2c in 8} A
${color #888888}Process: ${color}$processes${alignr}${color #888888}Runing: ${color}$running_processes
${color white}${stippled_hr 2 1}
${color #0077ff}${alignc}Memoria:
${voffset 5}${color #10DFED}RAM: ${color } $memperc%${alignr}$mem${color #888888}/$memmax
${color #10DFED}${membar 4,160}
${color #10DFED}SWAP: ${color }$swapperc%${alignr}$swap${color #888888}/$swapmax
${color #10DFED}${swapbar 4,160}
${voffset 5}${color #888888}Nombre${alignr}RAM CPU%
${color #B60000}${top name 1}${alignr}${top mem 1} ${top cpu 1}
${color #D17D00}${top name 2}${alignr}${top mem 2} ${top cpu 2}
${color #B2B200}${top name 3}${alignr}${top mem 3} ${top cpu 3}
${color #187B18}${top name 4}${alignr}${top mem 4} ${top cpu 4}
${color #3A9191}${top name 5}${alignr}${top mem 5} ${top cpu 5}
${color white}${stippled_hr 2 1}
${color #0077ff}${alignc}Disco Duro:
${voffset 5}${color #E2E22D}HOME:${alignr}${color }${fs_free /}${color #888888}/${fs_size /}
${color #E2E22D}${fs_bar 4,160 /}
${if_mounted /media/Datos}${color #E2E22D}Datos:${alignr}${color }${fs_free /media/Datos}${color #888888}/${fs_size /media/Datos}
${color #E2E22D}${fs_bar 4,160 /media/Datos}
$endif${if_mounted /media/Windows}${color #E2E22D}Windows:${alignr}${color }${fs_free /media/Windows}${color #888888}/${fs_size /media/Windows}
${color #E2E22D}${fs_bar 4,160 /media/Windows}
$endif${color #888888}Disco I/O: $color$diskio
${voffset -5}${color white}${stippled_hr 2 1}
${color #0077ff}${alignc}RED:
${voffset 5}${color #888888}Subida: ${color #55B350}${upspeed eth0}k/s${alignr}${color #55B350} ${totalup eth0}
${color #888888}Descarga: ${color #55B350}${downspeed eth0}k/s${alignr}${color #55B350} ${totaldown eth0}
${color #888888}${downspeedgraph eth0 160BE9 00ff00 300}
${color #888888}Conexiones totales:${alignr}$color ${tcp_portmon 1 65535 count}
${color #888888}Salida: $color${tcp_portmon 32768 61000 count}${alignr}${color #888888}Entrada: $color${tcp_portmon 1 32767 count}
${color #888888}${alignr}amule:$color ${tcp_portmon 4662 4662 count}
${color #0077ff}IP: $color${execi 10000 curl 'http://www.whatismyip.org'}
${voffset -5}$color$stippled_hr${if_running amarokapp}
${color #0077ff}${alignc}Amarok
${color #CC6600}${alignc}${execi 10 dcop amarok player artist}
${execi 10 dcop amarok player album} ${alignr}${execi 10 dcop amarok player year}
${execi 10 dcop amarok player title}
${execi 5 dcop amarok player currentTime}/${execi 10 dcop amarok player totalTime} ${execibar 1 ~/configuracion/amarok.sh progress}
${color #CC6600}Bitrate:${execi 10 dcop amarok player bitrate}kbps${alignr}Vol:${execi 10 dcop amarok player getVolume}%
$else
${color #0077ff}Root: ${color white}${execi 10000 grep mount /var/log/fsck/checkroot | fold -w25}
${color #0077ff}Datos: ${color white}${execi 10000 grep blocks /var/log/fsck/checkfs | fold -w25}$endif

Y finalmente aquí va la prueba de como queda en pantalla, con las dos opciones, cuando esta funcionando amarok y cuando no.



Si lo quieres añadir a la lista de programas al inicio simplemente lo añades en sistema/preferencias/sesiones.
Puede que tengas problemas de que aunque se inicie no aparezca en pantalla, sobretodo si usas beryl, compiz, en ese caso conky siempre debe ser iniciado después de que los efectos de escritorio estén cargados, por lo que lo que deberías de poner como programa al inicio no es el propio conky sino otro script como este para darle tiempo al sistema de iniciar el sistema gráfico.

#!/bin/bash
sleep 60 && conky;

Si tenéis alguna duda, no dudéis en preguntar en los comentarios, que yo no mato a ningún gatito xD
Publicado por volante a las

2 comentarios:

Anónimo dijo...

OMG PUTA MIERDA DE BLOG!!!! QUE ASCO JODER!!! DEDICATE A OTRA COSA EN LUGAR DE COPY&PASTE DE OTRAS WEB PUTO SUBNORMAL

Anónimo dijo...

hola soy nuevo en gnome 3 y aunque en gnome 2 no tenia ningun problema para agregarlo a las aplicaciones al inicio ahora con este nuevo escritorio no se donde esta eso, a ver si lo explicas, por favor.
gracias