Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/11/2007, à 23:08

fanfantasy7

fonctionnement de zenity ?? help-me

Bonsoir
j'aimerai comprendre comment utiliser zenity

voici mes essai pour vous faire comprendre mon problème
j'initialise la valeur

bertrand@bertrand-laptop:~$ RESULT=""

j'affiche pour vérifier que c'est vide

bertrand@bertrand-laptop:~$ echo $RESULT

je met le résultat dans RESULT

bertrand@bertrand-laptop:~$ RESULT=$(find /home/bertrand/*.zip)

j'affiche le résultat

bertrand@bertrand-laptop:~$ echo $RESULT
/home/bertrand/backup_thunderbird.zip /home/bertrand/Everest.zip /home/bertrand/RacerINIeditor.zip /home/bertrand/xabre35753.zip

donc la c'est bon
je réinitialise RESULT

bertrand@bertrand-laptop:~$ RESULT=""

je relance la commande en rajoutant zenity

bertrand@bertrand-laptop:~$ RESULT=$(find /home/bertrand/*.zip) | zenity --progress --title="titre" --text="texte" --pulsate --auto-close

j'affiche de nouveau le résultat

bertrand@bertrand-laptop:~$ echo $RESULT

bertrand@bertrand-laptop:~$

et la c'est vide
j'aimerai bien que vous m'aidiez a comprendre mon problème
merci beaucoup


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#2 Le 15/11/2007, à 23:24

Spalax

Re : fonctionnement de zenity ?? help-me

Hé bien à  mon avis, la sortie standard de find est transmise à  zenity par le pipe, et zenity ne renvoyant rien, ta variable se voit affecter ce dernier résultat : rien.
Que renvoie la commande suivante ?

find /home/bertrand/*.zip | zenity --progress --title="titre" --text="texte" --pulsate --auto-close

[EDIT] J'ai parlé trop vite : je n'avais pas vu o๠était ta parenthèse fermante.
Je me repenche sur la question...

Dernière modification par Spalax (Le 15/11/2007, à 23:26)

Hors ligne

#3 Le 15/11/2007, à 23:26

fanfantasy7

Re : fonctionnement de zenity ?? help-me

bertrand@bertrand-laptop:~$ find /home/bertrand/*.zip) | zenity --progress --title="titre" --text="texte" --pulsate --auto-close
bash: erreur de syntaxe près du jeton `)' inattendu
bertrand@bertrand-laptop:~$ find /home/bertrand/*.zip | zenity --progress --title="titre" --text="texte" --pulsate --auto-close

Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#4 Le 15/11/2007, à 23:29

Spalax

Re : fonctionnement de zenity ?? help-me

Mais je persiste : c'est normal. Ta variable RESULT se voit affecter le résultat de l'ensemble de la commande suivante, qui ne doit rien renvoyer.

$(find /home/bertrand/*.zip) | zenity --progress --title="titre" --text="texte" --pulsate --auto-close

Et je redemande : que renvoie cette commande, lorsqu'elle est exécutée seule (sans le RESULT=) ?

[EDIT] J'ai écrit ça pendant que tu postait ta réponse ; désolé pour ma lenteur...

Dernière modification par Spalax (Le 15/11/2007, à 23:31)

Hors ligne

#5 Le 15/11/2007, à 23:32

fanfantasy7

Re : fonctionnement de zenity ?? help-me

c'a renvoie rien alors que

bertrand@bertrand-laptop:~$ find /home/bertrand/*.zip
/home/bertrand/backup_thunderbird.zip
/home/bertrand/Everest.zip
/home/bertrand/RacerINIeditor.zip
/home/bertrand/xabre35753.zip
bertrand@bertrand-laptop:~$

Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#6 Le 15/11/2007, à 23:37

fanfantasy7

Re : fonctionnement de zenity ?? help-me

j'ai un début de solutions

bertrand@bertrand-laptop:~$ RESULT=$(find /home/bertrand/*.pdf |  zenity  --list  --title  "Résultat de la recherche" --text "Recherche de tous les fichiers pdf" --column "Fichiers" --multiple)

je sélectionne les fichiers et j'appuie sur OK et j'affiche la variable

bertrand@bertrand-laptop:~$ echo $RESULT
/home/bertrand/30ansdemariage.pdf|/home/bertrand/gschool.pdf|/home/bertrand/RESISTANCE_AVEC_MON_MOI_INTERIEUR2__copie_.pdf

Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#7 Le 15/11/2007, à 23:38

Spalax

Re : fonctionnement de zenity ?? help-me

Je ne voie pas comment affecter le résultat d'une commande à  une variable, et transmettre ce même résultat à  un autre programme.
De plus, de mémoire, avec l'option --progress, zenity s'attend à  avoir une suite de fractions dans l'entrée standard (mais il n'est plus irstallé chez moi, je ne peux plus vérifier).

Hors ligne

#8 Le 15/11/2007, à 23:39

fanfantasy7

Re : fonctionnement de zenity ?? help-me

j'ai un début de solutions

bertrand@bertrand-laptop:~$ RESULT=$(find /home/bertrand/*.pdf |  zenity  --list  --title  "Résultat de la recherche" --text "Recherche de tous les fichiers pdf" --column "Fichiers" --multiple)

je sélectionne les fichiers et j'appuie sur OK et j'affiche la variable

bertrand@bertrand-laptop:~$ echo $RESULT
/home/bertrand/30ansdemariage.pdf|/home/bertrand/gschool.pdf|/home/bertrand/RESISTANCE_AVEC_MON_MOI_INTERIEUR2__copie_.pdf

mais moi je ne veut pas sélectrionner de fichiers, je veut un zenity de type progress et que tous les résultat soit dans la variable

merci beaucoup de m'aider en tous cas


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne

#9 Le 16/11/2007, à 00:58

Spalax

Re : fonctionnement de zenity ?? help-me

Argh ! Dialogue de sourd : on écrit nos réponses en même temps...

Bon, voici une idée TRàˆS moche. Programmeurs au cÅ“ur sensible, passez votre chemin. tongue
Le principe :
On exécute la commande find, en supprimant la sortie d'erreurs, et en redirigeant la sortie standard vers la sortie d'erreurs.

find arguments 1>/dev/stderr 2>/dev/null

Puis on redirige la sortie vers zenity, auquel on a supprimé toute sortie.

find arguments 1>/dev/stderr 2>/dev/null | (zenity options &>/dev/null)

à€ ce niveau, nous avons zenity qui affiche la barre de progression pendant que la recherche s'effectue. Le résultat de la recherche est dans la sortie d'erreur. Il faut le « rattraper » dans la sortie standard.

(find arguments 1>/dev/stderr 2>/dev/null | (zenity options &>/dev/null)) 1>/dev/null 2>/dev/stdout

Et pour finir, affectons le résultat à  la variable.

RESULT=$((find arguments 1>/dev/stderr 2>/dev/null | (zenity options &>/dev/null)) 2>/dev/stdout)

Deux remarques :
1) Je n'ai rien testé... big_smile
2) Je vais me coucher. Donc en cas de bugs, il faudra attendre (au moins) demain avant que je ne corrige.

Dernière modification par Spalax (Le 16/11/2007, à 01:08)

Hors ligne

#10 Le 16/11/2007, à 01:11

Spalax

Re : fonctionnement de zenity ?? help-me

Bon, je n'ai pas résisté, et j'ai fait un petit test (sans zenity, mais c'étaient surtout les redirections que je voulais tester) et après quelques menues modifications, ça semble marcher.

Hors ligne

#11 Le 16/11/2007, à 01:53

fanfantasy7

Re : fonctionnement de zenity ?? help-me

j'ai donc lancé la commande

$ RESULT=$((find /home/bertrand/*>/dev/stderr 2>/dev/null | (zenity zenity --progress --title="titre" --text="texte" --pulsate --auto-close &>/dev/null)) 2>/dev/stdout)

et le résultat est bon mais la fenetre zenity s'affiche trés rapidement au début de la recherche mais durant la recherche (3 ou 4 seconde) je vois que le disque dur est utilisé mais la fenetre graphique zenity ne reste pas affiché

bonne nuit quand meme


Fanfantasy7
pc fixe : Linux Mint
pc portable : Ubuntu LTS

Hors ligne