Hier j'ai cherché une bonne partie de la soirée pour trouver pourquoi mes flux rss s'affichaient difficilement avec conky.
Voilà un compte rendu des flux RSS sous conky.
Pour commencer, voilà le script conky-rss (que j'ai dans le répertoire /opt/sbin) :
#!/bin/bash # RSS Display Script by Bill Woodford (admin@sdesign.us) v1.0 # # This script is designed to output story titles for most any RSS Feed. # # This script depends on curl. Please ensure it is installed and in your $PATH # Gentoo: emerge -av net-misc/curl # Debian: apt-get install curl # Homepage: http://curl.haxx.se/ # # Usage: # .conkyrc: ${execi [time] /path/to/script/conky-rss.sh URI LINES TITLENUM} # URI = Location of feed, ex. http://www.gentoo.org/rdf/en/glsa-index.rdf # LINES = How many titles to display (default 5) # TITLENUM = How many times the title of the feed itself is specified, usually 1 or 2 (default 2) # # Usage Example # ${execi 300 /home/youruser/scripts/conky-rss.sh http://www.foxnews.com/xmlfeed/rss/0,4313,1,00.rss 4 2} #RSS Setup - Don't change unless you want these values hard-coded! uri=$1 #URI of RSS Feed lines=$2 #Number of headlines titlenum=$3 #Number of extra titles #Script start #Require a uri, as a minimum if [[ "$uri" == "" ]]; then echo "No URI specified, cannot continue!" >&2 echo "Please read script for more information" >&2 else #Set defaults if none specified if [[ $lines == "" ]]; then lines=5 ; fi if [[ $titlenum == "" ]]; then titlenum=2 ; fi #The actual work curl -s --connect-timeout 30 $uri |\ sed -e 's/<\/title>/\n/g' |\ grep -o '.*' |\ sed -e 's/ //' |\ head -n $(($lines + $titlenum)) |\ tail -n $(($lines)) fi
Voici un exemple d'utilisation :
TEXT
${execi 300 /opt/sbin/conky-rss.sh http://planet.ubuntu-fr.org/feed/rss2 5 1}
Ceci affichera les titres des 5 derniers articles du planet ubuntu-fr. L'affichage s'actualisera toutes les 300 millisecondes.
Cependant, les accents passent mal avec conky. Pour régler ce probleme, j'utilise la commande sed :
TEXT
${execi 300 /opt/sbin/conky-rss.sh http://planet.ubuntu-fr.org/feed/rss2 5 1 | sed s/\[éèêÉÈÊ\]/e/g | sed s/\[âàÂÀ\]/a/g | sed s/\[îÎ\]/i/g | sed s/\[ôÔ\]/o/g | sed s/\[ùûÛÙ\]/u/g | sed s/\[çÇ\]/c/g}
Ainsi, je supprime tous les caractères accentués du flux (en attendant une meilleure solution). Mais il reste encore un problème : le flux est tronqué.
En effet, la taille du buffer est trop petite par défaut, il faut l'augmenter en ajoutant au début de votre conkyrc (avant TEXT) :
text_buffer_size 512
Et voilà, après ces quelques étapes, vos flux s'afficheront convenablement (mais sans accents) !
27/07/08, 18:18
Hells_Dark - 16-10-2008, 13:10 :
Je vais virer ce spam une fois rentré chez moi ;)
Merci pour l'alternative, je vais l'étudier.
pmd - 15-10-2008, 13:20 :
Dans les dépôts ubuntu, il y a une fonction rss dans le paquet conky.
Pour plus d'aide : conky.sourceforge.net/variables.html
Cependant, dans les dépôts debian, le mainteneur du paquet ne voulant pas l'ajouter ta solution va me servir :D
PS : Putain de robots ...