He utilizado como punto de partida el ConkyWizard porque me ha gustado su disposición inicial de elementos y su gráfico de fondo (con los logos de Ubuntu). A partir de allí he ajustado los parámetros a mostrar.
Secciones a destacar:
En el gráfico de I/O de disco, he usado voffset para "subir" el valor instantáneo, de manera que quede el gráfico a la derecha y el texto en dos líneas a la izquierda. Si no, quedaría un texto y el gráfico en una línea y el valor instantáneo en la línea siguiente (por debajo del gráfico). Una imagen vale mas que mil palabras:
El código es:
${GOTO 36}${font Ubuntu:bold:size=9}${color0}Disks${font}${color}Utilizo tres posibles interfaces de red: eth0 (ethernet cableada), wlan0 (wifi) o ppp0 (una 3G por USB). Como difícilmente tenga activas dos o mas a la vez, no me interesa que se muestren las que no están en uso. La dificultad vino porque la comprobación if_up que hace Conky da siempre cierto para la eth0. De hecho, el sistema operativo tiene la interfaz en UP aunque no tenga el cable conectado. Afortunadamente he encontrado una opción de configuración de Conky que ajusta el "nivel" de exigencia para que la interfaz esté arriba: if_up_strictness. De acuerdo a la documentación:
${GOTO 36}I/O read:${GOTO 90}${diskiograph_read 20,150 008e00 ffb200 -t}
${GOTO 36}${voffset -20}${diskio_read}
${GOTO 36}I/O write:${GOTO 90}${diskiograph_write 20,150 008e00 ffb200 -t}
${GOTO 36}${voffset -20}${diskio_write}
if_up_strictness: How strict should if_up be when testing an interface for being up? The value is one of up, link or address, to check for the interface being solely up, being up and having link or being up, having link and an assigned IP address.Ajustando el parámetro a if_up_strictness link, puedo poner if_up delante de cada interfaz para que sólo muestre sus variables si está activa. Otra imagen (con la 3G en uso):
El problema es que queda una línea vacía para las secciones (interfaces) no mostradas, pero no es algo que me quite el sueño.
El código correspondiente es:
if_up_strictness linkLas otras secciones son bastante "estándar" y se pueden ver en el pantallazo general (donde se ve su transparencia y parte del fondo de escritorio):
[... ]
${GOTO 36}${font Ubuntu:bold:size=9}${color0}Network${font}${color}${if_gw}${GOTO 130}GW: ${gw_ip}${endif}
${if_up eth0}${GOTO 36}eth0:${GOTO 120}${addr eth0}
${GOTO 36}Up (${upspeedf eth0}):${GOTO 120}${upspeedgraph eth0 15,110 330099 cc0099 -t}
${GOTO 36}Down (${downspeedf eth0}):${GOTO 120}${downspeedgraph eth0 15,110 330099 cc0099 -t}${endif}
${if_up wlan0}${GOTO 36}wlan0:${GOTO 120}${addr wlan0}
${GOTO 60}$wireless_essid $wireless_bitrate
${GOTO 60}${wireless_link_bar 10,140} $wireless_link_qual_perc %
${GOTO 36}Up (${upspeedf wlan0}):${GOTO 120}${upspeedgraph wlan0 15,110 330099 cc0099 -t}
${GOTO 36}Down (${downspeedf wlan0}):${GOTO 120}${downspeedgraph wlan0 15,110 330099 cc0099 -t}${endif}
${if_up ppp0}${GOTO 36}ppp0:${GOTO 120}${addr ppp0}
${GOTO 36}Up (${upspeedf ppp0}):${GOTO 120}${upspeedgraph ppp0 15,110 330099 cc0099 -t}
${GOTO 36}Down (${downspeedf ppp0}):${GOTO 120}${downspeedgraph ppp0 15,110 330099 cc0099 -t}
${GOTO 36}Total Up: ${totalup ppp0} Total Down: ${totaldown ppp0}${endif}
El fichero completo de configuración se puede descargar aquí.