saintshakajin Posté(e) le 4 février 2005 Partager Posté(e) le 4 février 2005 J'ai besoin d'un petit éclaircissement (même un gros). J'ai compris comment on fait le dialog --gauge mais je vois pas, comment on peut par exemple le lié à la progression de la copie d'un fichier. J'ai matté sur lea-linux et là, il parle d'un texte, donc ça c'est facile et là j'ai compris mais dans le cadre d'une copie ou d'une tâche à exécuter où je voudrais afficher son avancement, là, je patauge. Si qqn pouvait me l'expliquer, mes cheveux seraient content, car là, je suis presque chauve Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 4 février 2005 Partager Posté(e) le 4 février 2005 Euh... VCP fait très bien tout ça. Par contre pour le script, je ne vois pas... Lien vers le commentaire Partager sur d’autres sites More sharing options...
saintshakajin Posté(e) le 4 février 2005 Auteur Partager Posté(e) le 4 février 2005 Oui mais la copie de fichier, c'était un exemple, j'aimerais aussi le comprendre pour exécuter des tâches... Par exemple, quand je convertis des photos en plus petites tailles pour les envoyer, ça fait plus joli Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 4 février 2005 Partager Posté(e) le 4 février 2005 apt-cache show zenity ? Je ne sais pas si ça peut t'aider Lien vers le commentaire Partager sur d’autres sites More sharing options...
saintshakajin Posté(e) le 4 février 2005 Auteur Partager Posté(e) le 4 février 2005 je regarde de ce côté là... Mais bon, même si je prends zenity, j'aimerais savoir comment utiliser dialog --gauge, pour l'apaisement de mon esprit Edit: zenity n'a pas l'air mal, juste trouver un petit tuto :) Edit 2: En googlelisant, je suis tombé sur ton site Gauret et je vois que tu l'utilises pas mal le zenity, tu pourrais m'indiquer un tuto? Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 4 février 2005 Partager Posté(e) le 4 février 2005 Oui, effectivement le --gauge est pas très intuitif, mais bon, c'est le seul moyen de le faire marcher proprement. En fait il avance quand il reçoit des données sur son entrée standard. Exemple : for i in `seq 1 5 100`; do echo $i; sleep 0.5; done | zenity --progress Tu lui envoies le pourcentage sur son entrée standard et voilà Lien vers le commentaire Partager sur d’autres sites More sharing options...
saintshakajin Posté(e) le 4 février 2005 Auteur Partager Posté(e) le 4 février 2005 Ouais, jusque là, toujours d'accord, mais comment tu y joins une action, comme par exemple la copie d'un fichier. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ceric35 Posté(e) le 4 février 2005 Partager Posté(e) le 4 février 2005 Oui, effectivement le --gauge est pas très intuitif, mais bon, c'est le seul moyen de le faire marcher proprement.En fait il avance quand il reçoit des données sur son entrée standard. Exemple : for i in `seq 1 5 100`; do echo $i; sleep 0.5; done | zenity --progress Tu lui envoies le pourcentage sur son entrée standard et voilà Interresant "senity" je connaisait pas ! mais une question , un code utilisant zenity est-il portable? je veut dire par là : zenity est-il installé par defaut sur toute les machines ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
saintshakajin Posté(e) le 4 février 2005 Auteur Partager Posté(e) le 4 février 2005 Non, et si tu es sur kde, tu as quelques dépendances... Mais (X)Dialog non plus Lien vers le commentaire Partager sur d’autres sites More sharing options...
ceric35 Posté(e) le 4 février 2005 Partager Posté(e) le 4 février 2005 dommage ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 5 février 2005 Partager Posté(e) le 5 février 2005 Tu retrouveras "dialog" sur pas mal de machines UNIX et sur quasiment tous les linux. Mais c'est du NCurses, donc en terminal. Zenity est installé par défaut avec GNOME, donc tu le trouveras sur tous les Linux + GNOME, et aussi probablement sur Solaris. saintshakajin: Ça c'est assez chaud : il faut déjà que ta commande sorte quelquechose sur sa sortie standard, et par défaut cp ne le fait pas. Auquel cas, impossible. Par contre on peut brancher un wget sur la barre de progression, et utiliser --pulsate puisqu'on peut pas lui envoyer les pourcentages. Auquel cas il bougera à chaque caractère envoyé. Je te conseille d'essayer pour que ce soit plus clair. Lien vers le commentaire Partager sur d’autres sites More sharing options...
saintshakajin Posté(e) le 5 février 2005 Auteur Partager Posté(e) le 5 février 2005 puisque tu parles de cp... j'ai lu un script (dont j'ai pas compris grand chose) et dont la partie que je capte le moins c'est ça: (while [ $copied -lt $size ]; do dd if=$src of=$dest bs=512 count=$chunk_size skip=$copied seek=$copied >/dev/null 2>&1 copied=$(($copied+$chunk_size)) echo $(((100*$copied)/$size)) done) | dialog --backtitle "Widgets de bash dialog" --title " Copie en cours " --gauge "$src\n> $dest " 10 60 0 Là, c'est vraiment obscur pour moi. Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 5 février 2005 Partager Posté(e) le 5 février 2005 Ben là c'est de la copie par petits bouts avec dd... Lien vers le commentaire Partager sur d’autres sites More sharing options...
saintshakajin Posté(e) le 5 février 2005 Auteur Partager Posté(e) le 5 février 2005 1) J'ai fais un man dd (car ça je m'en doutais que c'était la copie) mais je capte pas trop les options. Donc, dd if=source of=destination bs=512 (512 o par 512, c'est ça?) et la suite alors, là, c'est obscur. 2) Autre question, entre un dd et cp, lequel est le mieux, enfin avantage et désavantage (globalement pas limité au script) 3) Et encore autre question, si je mets un cp blabla blabla2 >/dev/null 2>&1 ça n'irait pas pour remplacer le dd là? Merci en tout cas pour votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 5 février 2005 Partager Posté(e) le 5 février 2005 "dd if=source of=destination bs=512" if, c'est le fichier source of, c'est la destination bs, c'est pour dire la quantité à copier, car dd permet de copier par petits bouts... Lien vers le commentaire Partager sur d’autres sites More sharing options...
saintshakajin Posté(e) le 5 février 2005 Auteur Partager Posté(e) le 5 février 2005 ouais, donc, plus le fichier est grand, plus bs devrait être grand, en quelques sortes? En ce qui concerne count seek et skip? Sinon, pour ma question 2 & 3, tu n'aurais pas une 'tite réponse? ça faisait longtemps que je ne m'étais pas senti aussi n00b... Je renouvelle toujours mon merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 5 février 2005 Partager Posté(e) le 5 février 2005 2) dd est beaucoup plus bas niveau 3) non Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 6 février 2005 Partager Posté(e) le 6 février 2005 dd est une copie d'octets, donc tu spécifies une adresse de source, une adresse d'arrivé, et une taille de copie. cp te fait une copie transparente, tu ne sait absoluement pas où va être copié (physiquement) ce que tu copies. ce qui te permets avec dd de faire une copie 512 octets par 512, et donc d'estimer une prograssion, chose impossible avec cp... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.