aMule en conky

Como no, también se puede mostrar información del amule en conky.
Para poder utilizarlo hay que activar la firma online en la configuración del amule:


así el programa irá guardando los datos importantes de la conexión en el archivo ~/.amule/amulesig.dat, y de ahí podremos ir sacando los datos que queramos para ponerlos en pantalla.
El archivo se compone de 17 líneas con diferente información:
  1. Estado de la conexión, 0 si está desconectado, 1 si está online y 2 si está conectado a la red ED2K
  2. El nombre del servidor al que está conectado
  3. La ip del servidor al que está conectado
  4. El puerto que usa el servidor
  5. Estado de la red ED2K, H si es HighID, L si es LowID
  6. Estado de la red Kad, 0 si está desconectado, 1 si está firewalled, 2 si está bién
  7. Velocidad de descarga en KB/s
  8. Velocidad de subida en KB/s
  9. El número de clientes en nuestra cola de subida
  10. El número de archivos compartidos
  11. Nuestro nick de usuario
  12. Cantidad total de datos descargados, ojo, en bytes
  13. Cantidad total de datos subidos, en bytes
  14. La versión del amule
  15. Cantidad de datos descargados durante la sesión, también en bytes
  16. Cantidad de datos subidos durante la sesión, en bytes
  17. Tiempo, en segundos, de la sesión actual
Algunos de estos datos son directamente utilizables, otros necesitan un retocado para presentarlos por pantalla, como en el caso del estado de las redes, poner 0 y 1 no sería demasiado intuitivo, o convertir el tiempo en h:min:seg y las cantidades de datos en sus unidades más adecuadas, para ello que uso una subrutina (es lo que primero que me he atrevido a "programar" xD) para convertirlos en mensajes normales OK, firewalled, highID...como el tiempo de sesión, o el estado de las redes, para lo cual uso el siguiente script, amule.sh.

Como se puede ver se pueden representar muchas datos:



ya queda a gusto del usuario qué representar, desde algo sencillo:

que corresponde a estás líneas de código en el archivo de configuración:
${if_running amule}${color #0077ff}${alignc}aMule
${color #888888}Conectado a ${color}${execi 50 head -n2 ~/.aMule/amulesig.dat |tail -n1}
${color #888888}ED2K ${color}${execi 5 ~/configuracion/amule.sh ed2k}${alignr}${color #888888}KAD ${color}${execi 5 ~/configuracion/amule.sh kad}
${color #888888}Up: ${color}${execi 5 head -n8 ~/.aMule/amulesig.dat |tail -n1}k/s${alignr}${color #888888}Down: ${color}${execi 5 head -n7 ~/.aMule/amulesig.dat |tail -n1}k/s
${voffset -5}$color$stippled_hr$endif
hasta algo más completo como:

que corresponde a :
${if_running amule}${voffset 5}${color white}${font lprabbits1:size=18}H${voffset -7}${font Anklepants:regular:size=11}${color #5da5d3} aMule$font  ${color gold}${font Arrows:size=10}N$font${execi 60 cat /home/jjgomera/.aMule/logfile |grep -c "Descarga terminada:"}$alignr${color #888888}Sesion: ${color}${execi 5  ~/configuracion/amule.sh horas}h ${execi 5  ~/configuracion/amule.sh minutos}m ${execi 5  ~/configuracion/amule.sh segundos}s
${voffset -7}${color #ffd700}${hr 1}$color
${color #888888}Conectado a ${color}${execi 50 head -n2 ~/.aMule/amulesig.dat |tail -n1}
${color #888888}ED2K ${color}${execi 5 ~/configuracion/amule.sh ed2k}${alignr}${color #888888}KAD ${color}${execi 5 ~/configuracion/amule.sh kad}
${color #888888}Compartidos: ${color}${execi 50 head -n10 ~/.aMule/amulesig.dat |tail -n1}$alignr${color #888888}En cola: ${color}${execi 50 head -n9 ~/.aMule/amulesig.dat |tail -n1}
${color #888888}Subida: ${color}${execi 5 head -n8 ~/.aMule/amulesig.dat |tail -n1}k/s${alignr}${color #888888}${color}${execi 5 ~/configuracion/amule.sh subidosesion} ${execi 5 ~/configuracion/amule.sh unidadsubidosesion} ${color #888888}(${execi 5 ~/configuracion/amule.sh subidototal} ${execi 5 ~/configuracion/amule.sh unidadsubidototal})
${color #888888}Descarga: ${color}${execi 5 head -n7 ~/.aMule/amulesig.dat |tail -n1}k/s${alignr}${color #888888}${color}${execi 5 ~/configuracion/amule.sh descargadosesion} ${execi 5 ~/configuracion/amule.sh unidaddescargadosesion} ${color #888888}(${execi 5 ~/configuracion/amule.sh descargadototal} ${execi 5 ~/configuracion/amule.sh unidaddescargadototal})
${execbar ~/configuracion/amule.sh porcentaje}
${color #3A9191}${execi 60 cat ~/.aMule/logfile | grep "Descarga terminada:"| cut -d":" -f6- | tail -n1}
${voffset -5}${color #ffd700}${hr 1}$endif
y que incluye ademas el número de descargas terminadas durante la sesión, así como el nombre de la ultima descarga terminada en la sesión, si la hay.
En ambos casos con la clausula if_running, se condiciona que la información se muestre por pantalla a que el proceso amule esté ejecutándose.
Como se puede ver, la orden clave para obtener los datos del archivo es una combinación head-tail para quedarnos únicamente con la línea que nos interesa en los casos en que la información de amulesig sea directamente utilizable.

1 comentario:

Anónimo dijo...

Hola, soy el que te comentó lo del enlace roto al script el otro día.
Me he bajado el de esta entrada y ya lo tengo funcionando perfectamente.
Gracias por todo ;)