Principal | Indice | Ir Arriba
Te recomiendo Rincón Bloguero

Como instalar Conky y una bonita Configuración


Conky es un monitor de sistema sumamente liviano, muy personalizable y con gran cantidad de configuraciones por toda la web, en la imagen de arriba está mi configuración, como ven tiene reloj, calendario, motorización del sistema, temperatura, consumo de ram, espacio de disco duro, trafico de subida y bajada, ip publica e ip Local y el clima en Bucaramanga para mi caso.

Para instalarlo agregamos el Repositorio de Conky y sus script importantes ejecutando en la Terminal

sudo add-apt-repository ppa:conky-companions/ppa && sudo apt-get update && sudo apt-get install conky python-statgrab ttf-droid curl conky-all conkyforecast lm-sensors hddtemp nvidia-settings
  • python-statgrab ttf-droid curl conky-all: Dependencias
  • conkyforecast: Nos muestra el clima y la temperatura en su ciudad.
  • lm-sensors hddtemp nvidia-settings: Muestran la temperatura de la CPU, Disco Duro y Tarjeta de Video en ese orden.

Si usas Rhythmbox como reproductor debes agregar a las lineas anteriores conkyrhythmbox, con banshee sería conkybanshee.

Abren Conky ejecutando en terminal "conky"

Copiamos el archivo de configuración del Conky a la carpeta HOME ejecutando
cp /etc/conky/conky.conf ~/.conkyrc
Luego si el archivo quedo bien copiado podemos ejecutar el siguiente comando para editar la configuración original de Conky.
gedit .conkyrc
Con lo anterior se abrirá Gedit y debemos pegar una configuración que nos guste, por ejemplo la que yo uso.

Click para Ver el Código

# Conky settings
background yes

# Use Xft?
use_xft yes
xftfont DejaVu Sans:size=8
xftalpha 0.8
text_buffer_size 2048

# Update interval in seconds
update_interval 1

# 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_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

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

# Minimum size of text area
minimum_size 80
maximum_width 200

# 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 5

# border width
border_width 1

# Default colors and also border colors
default_color white
#default_shade_color black
#default_outline_color white
own_window_colour 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 10
gap_y 50

# 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 none

TEXT

FECHA ${hr 2}
${alignc 35}${font Arial Black:size=24}${time %I:%M %P}${font}
${alignc}${time %A %d %Y}

################
# - CALENDAR - #
################
${voffset -2}${color0}${font Poky:size=15}d${font}${color}${voffset -8}${font Liberation Mono:size=10}${execpi 10800 DJS='date +%-d'; cal | sed 's/^/${goto 32} /' | sed '1d' | sed s/" $DJS "/" "'${font PizzaDude:style=bold:size=8}'"$DJS"'${font}${font PizzaDude:size=8}'" "/}${voffset -14}

SISTEMA ${hr 2}
${voffset 2}${font OpenLogos:size=16}${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 Webdings:size=16}~${font} Batería: ${battery_percent BAT0}% ${alignr}${battery_bar 8,60 BAT0}
${font StyleBats:size=16}q${font} Actividad: ${alignr}${uptime}

TEMPERATURA ${hr 2}
CPU1 ${alignr}${execi 300 sensors | grep Core\ 0 | cut -c15-16 ;}°C
CPU2 ${alignr}${execi 300 sensors | grep Core\ 1 | cut -c15-16 ;}°C
GPU: $alignr ${execi 30 nvidia-settings -q [gpu:0]/GPUCoreTemp | grep '):' | awk '{print $4}' | sed 's/\.//'}°C
Disco (160Gb) ${alignr}${execi 300 nc localhost 7634 | cut -c35-36}ºC
Disco (500Gb) ${alignr}${execi 300 nc localhost 7634 | cut -c62-63}ºC

DISCO DURO ${hr 2}
${voffset 4}${font Pie charts for maps:size=14}${font} ${voffset -5}Root:
${voffset 4}${fs_used /}/${fs_size /} ${alignr}${fs_bar 8,60 /}
${font Pie charts for maps:size=14}${font} ${voffset -5}Home:
${voffset 4}${fs_free /home}/${fs_size /home} ${alignr}${fs_bar 8,60 /home}

RED ${hr 2}
${if_existing /proc/net/route wlan0}
${voffset -6}${font PizzaDude Bullets:size=14}${font} Up: ${upspeed wlan0} kb/s ${alignr}${upspeedgraph wlan0 8,60 C22F2F DA3F3F}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Down: ${downspeed wlan0} kb/s ${alignr}${downspeedgraph wlan0 8,60 C22F2F DA3F3F}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Subido: ${alignr}${totalup wlan0}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Descargado: ${alignr}${totaldown wlan0}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Señal: ${wireless_link_qual wlan0}% ${alignr}${wireless_link_bar 8,60 wlan0}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Ip Local: ${alignr}${addr wlan0}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Ip Pública: ${alignr}${execi 1 curl www.whatismyip.org}
${else}${if_existing /proc/net/route eth0}
${voffset -6}${font PizzaDude Bullets:size=14}${font} Up: ${upspeed eth0} kb/s ${alignr}${upspeedgraph eth0 8,60 C22F2F DA3F3F}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Down: ${downspeed eth0} kb/s ${alignr}${downspeedgraph eth0 8,60 C22F2F DA3F3F}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Subido: ${alignr}${totalup eth0}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Descargado: ${alignr}${totaldown eth0}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Ip Local: ${alignr}${addr eth0}
${voffset 4}${font PizzaDude Bullets:size=14}${font} Ip Pública: ${alignr}${execi 3600 curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'} ${endif}${else}${if_existing /proc/net/route eth1} ${voffset -6}${font PizzaDude Bullets:size=14}${font} Up: ${upspeed eth1} kb/s ${alignr}${upspeedgraph eth1 8,60 C22F2F DA3F3F} ${voffset 4}${font PizzaDude Bullets:size=14}${font} Down: ${downspeed eth1} kb/s ${alignr}${downspeedgraph eth1 8,60 C22F2F DA3F3F} ${voffset 4}${font PizzaDude Bullets:size=14}${font} Subido: ${alignr}${totalup eth1} ${voffset 4}${font PizzaDude Bullets:size=14}${font} Descargado: ${alignr}${totaldown eth1} ${voffset 4}${font PizzaDude Bullets:size=14}${font} Ip Local: ${alignr}${addr eth1} ${voffset 4}${font PizzaDude Bullets:size=14}${font} Ip Pública: ${alignr}${execi 1 (wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'h)} ${endif}${else} ${font PizzaDude Bullets:size=14}4${font} Red No disponible ${endif} TIEMPO BUCARAMANGA ${hr 2} ${if_existing /proc/net/route wlan0} ${voffset -10}${alignr 56}${font ConkyWeather:style=Bold:size=40}${execi 600 conkyForecast --location=COXX0005 --datatype=WF}${font} ${voffset -50}${font Weather:size=40}${font} ${voffset -38}${font Arial Black:size=26}${execi 600 conkyForecast --location=COXX0005 --datatype=HT}${font} ${voffset 0}${alignc 43}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=1 --shortweekday} ${alignc 8}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=2 --shortweekday} ${alignc -29}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=3 --shortweekday} ${alignc -64}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=4 --shortweekday} ${voffset 0}${alignc 75}${font ConkyWeather:size=28}${execpi 600 conkyForecast --location=COXX0005 --datatype=WF --startday=1 --endday=4 --spaces=1}${font} ${voffset 0}${font DejaVu Sans:size=7}${alignc 48}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=1 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=1 --hideunits --centeredwidth=3} ${alignc -14}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=2 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=2 --hideunits --centeredwidth=3} ${alignc -40}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=3 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=3 --hideunits --centeredwidth=3} ${alignr 6}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=4 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=4 --hideunits --centeredwidth=3}${font} ${else}${if_existing /proc/net/route eth0} ${voffset -10}${alignr 56}${font ConkyWeather:style=Bold:size=40}${execi 600 conkyForecast --location=COXX0005 --datatype=WF}${font} ${voffset -50}${font Weather:size=40}${font} ${voffset -38}${font Arial Black:size=26}${execi 600 conkyForecast --location=COXX0005 --datatype=HT}${font} ${voffset 0}${alignc 43}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=1 --shortweekday} ${alignc 8}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=2 --shortweekday} ${alignc -29}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=3 --shortweekday} ${alignc -64}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=4 --shortweekday} ${voffset 0}${alignc 75}${font ConkyWeather:size=28}${execpi 600 conkyForecast --location=COXX0005 --datatype=WF --startday=1 --endday=4 --spaces=1}${font} ${voffset 0}${font DejaVu Sans:size=7}${alignc 48}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=1 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=1 --hideunits --centeredwidth=3} ${alignc -14}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=2 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=2 --hideunits --centeredwidth=3} ${alignc -40}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=3 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=3 --hideunits --centeredwidth=3} ${alignr 6}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=4 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=4 --hideunits --centeredwidth=3}${font} ${endif}${else}${if_existing /proc/net/route eth1} ${voffset -10}${alignr 56}${font ConkyWeather:style=Bold:size=40}${execi 600 conkyForecast --location=COXX0005 --datatype=WF}${font} ${voffset -50}${font Weather:size=40}${font} ${voffset -38}${font Arial Black:size=26}${execi 600 conkyForecast --location=COXX0005 --datatype=HT}${font} ${voffset 0}${alignc 43}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=1 --shortweekday} ${alignc 8}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=2 --shortweekday} ${alignc -29}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=3 --shortweekday} ${alignc -64}${execpi 600 conkyForecast --location=COXX0005 --datatype=DW --startday=4 --shortweekday} ${voffset 0}${alignc 75}${font ConkyWeather:size=28}${execpi 600 conkyForecast --location=COXX0005 --datatype=WF --startday=1 --endday=4 --spaces=1}${font} ${voffset 0}${font DejaVu Sans:size=7}${alignc 48}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=1 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=1 --hideunits --centeredwidth=3} ${alignc -14}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=2 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=2 --hideunits --centeredwidth=3} ${alignc -40}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=3 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=3 --hideunits --centeredwidth=3} ${alignr 6}${execpi 600 conkyForecast --location=COXX0005 --datatype=HT --startday=4 --hideunits --centeredwidth=3}/${execpi 600 conkyForecast --location=COXX0005 --datatype=LT --startday=4 --hideunits --centeredwidth=3}${font} ${endif}${else} ${font PizzaDude Bullets:size=14}4${font} Tiempo No disponible ${endif}

Ahora solo queda configurar ConkyconkyForecast para lo cual ejecutamos

cp /usr/share/conkyforecast/conkyForecast.config ~/.conkyForecast.config gedit ~/.conkyForecast.config
Y pegamos la siguiente configuración que funciona perfectamente

Click para Ver el Código

#=============================================#
# EXPERT SETTINGS, NOT REQUIRED TO BE ALTERED #
#=============================================#
BASE_XOAP_URL = http://xoap.weather.com/weather/local/COXX0005?cc=*&dayf=5&link=xoap&prod=xoap&par=&key=&unit=m
#BASE_XOAP_URL = http://xml.weather.com/weather/local/?cc=*&dayf=10&link=xoap&prod=xoap&par=&key=&unit=m
MAXIMUM_DAYS_FORECAST = 4

#===============================================#
# USER SETTINGS, EDIT BASED ON DOCUMENTED SETUP #
#===============================================#
CACHE_FOLDERPATH = /tmp/
CONNECTION_TIMEOUT = 5
EXPIRY_MINUTES = 2
TIME_FORMAT = %H:%M
DATE_FORMAT = %Y-%m-%d
LOCALE = ES
XOAP_PARTNER_ID = 1149089868
XOAP_LICENCE_KEY = 8bfec04bc10dd216
LOCATION = COXX0005
AUTO_NIGHT = False
PROXY_HOST =
PROXY_PORT = 8080
PROXY_USERNAME =
PROXY_PASSWORD =

Después de todo lo anterior hacemos los cambios para nuestra ciudad.

Reemplazamos Bucaramanga en Conkyrc y ponemos la nuestra, abrimos un explorador cualquiera y abrimos el siguiente enlace: http://xoap.weather.com/search/search?where=Bucaramanga nuevamente cambiamos Bucaramanga por nuestra ciudad, y nos abrirá una página con contenido parecido a este:

<search ver="3.0">
<loc id="ARBA2806" type="1">Lima, Argentina</loc>
<loc id="PEXX0011" type="1">Lima, Peru</loc>
<loc id="USIL0668" type="1">Lima, IL</loc>
<loc id="USMT0203" type="1">Lima, MT</loc>
<loc id="USNY0806" type="1">Lima, NY</loc>
<loc id="USOH0510" type="1">Lima, OH</loc>
<loc id="BRXX0162" type="1">Nova Lima, Brazil</loc>
<loc id="BRXX0408" type="1">Mancio Lima, Brazil</loc>
<loc id="BRXX2402" type="1">Lima Campos, Brazil</loc>
<loc id="BRXX2403" type="1">Lima Duarte, Brazil</loc>
</search>

Y Copiamos el id, en el ejemplo vemos que hay varias ciudades que se llaman Lima, de todas esas escogemos la nuestra. Ejemplo Lima, Perú PEXX0011.

En los archivos ConkyForecast y Conkyrc reemplazamos todos los COXX0005 por el id de nuestra ciudad. (PEXX0011).

Se guardan los dos archivos y todo queda funcionando.

Ahora creamos un archivo y lo agregamos para que ejecute conky al inicio para lo cual en terminal ponemos.
sudo gedit /usr/bin/iConky.sh
Pegamos el siguiente comando

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

Guardamos el archivo y en terminal nuevamente le damos permiso de ejecución a ese archivo:

sudo chmod a+x /usr/bin/iConky.sh
Por último nos vamos al menu Sistema > Preferencias > Aplicaciones al Inicio >Añadir

Le ponemos un nombre por ejemplo "Escritorio Conky" y en comando solo ponemos "iConky.sh". Con esto conky se ejecutará al iniciar Ubuntu, si se superpone el Conky a sus ventanas abren el archivo iConky.sh "sudo gedit /usr/bin/iConky.sh" y aumentan el número que hay después del sleep.

Si soy malo con los manuales pueden encontrar más explicaciones en los siguientes enlaces:
  1. Conoce Conky, parte 1
  2. Conoce Conky, parte 2
  3. Consejos para configurar conky

1 comentario:

  1. Me encantó la entrada y por fin pude sacar el .conkyrc contigo(Lo había estado creando manualmente en lugar de sacarlo desde la terminal), pero cuando intento correrlo me dice que me faltan ${endif} y llevo rato leyendo pero no encuentro ningún else suelto. :S. No sé que hacer. ¿Nunca te sacó error?

    ResponderEliminar