2011-05-09 5 views
1

J'essaye de faire un petit moniteur à un programme appelé showbf qui imprime une mise à jour elle-même chaque fois un certain laps de temps.Mise à jour du contenu d'une fenêtre zenity

mon meilleur essai est le suivant

ssh [email protected] "exit" 
if [ $? -ne 0 ] 
then 
    ssh-add < /dev/null 
fi 

while true 
do 
resources=$(ssh [email protected] "showbf") 
if (echo "$resources" | grep -q "[0-9] procs") 
then 
    echo $(echo "$resources" | awk '/[0-9] procs/ {print $1,"for",$5}') 
else 
    echo "No procs available." 
fi 

if [[ $? == 0 ]] || [[ $? == 1 ]] 
then 
    exit 0 
fi 
sleep 1 
done | zenity --text-info --height=200 --width=300 \ 
    --title "Resources available for immediate use (showbf)" 

Je n'aime vraiment pas, car il ajoute les résultats aux extraits. Cela devient vraiment salissant. Je voudrais utiliser quelque chose comme zenity --list (les résultats sont 2 colonnes, num de proc disponible et walltime). Mais une fois que zenity lit les données, il ne met pas à jour son contenu. Des idées?? L'utilisation de boucles while pour recréer des fenêtres n'est pas ce que je veux car les nouvelles fenêtres sont remplacées au centre de l'écran.

Un grand merci Salvatore

Répondre

0

Au lieu d'utiliser zenity, pourquoi ne pas mettre en place un xterm avec un « regarder » le commander dans qui obtient les informations nécessaires. Quelque chose comme:

xterm -g 80x40+100+100 -e "watch ssh [email protected] showbf" 
+0

c'est la solution que j'utilise, mais avec le terminal gnome et l'écran. – Salvatore

+0

c'est la solution que j'utilise maintenant, mais avec le terminal gnome et l'écran. La raison pour laquelle je voudrais utiliser zenity est de construire un script plus complexe. Merci beaucoup quand même! – Salvatore

1

Si vous ne l'avez pas déjà travaillé ceci, vous devriez vraiment vérifier yad, une fourchette de zenity qui est activement améliorée. Je viens juste de l'installer ce soir (après m'avoir tapé la tête en essayant de contourner un bug de zenity), mais je ne serais pas surpris si ça pouvait faire ce que vous voulez. J'ai remarqué qu'il a une option - queue, par exemple. C'est dans les repos de Fedora, et cette page a des liens vers des paquets deb.

+0

J'ai essayé d'utiliser 'yad' avec' --text-info' et '--listen' mais il n'écoute que du texte ajouté par stdin, je voudrais qu'il vérifie un changement de fichier complet et mette à jour le dialogue de texte –

+0

yad déplacé à https://sourceforge.net/projects/yad-dialog/ – Alex

Questions connexes