Rediriger la sortie standart vers un Xterm

Rediriger la sortie standart vers un Xterm - C - Programmation

Marsh Posté le 10-12-2003 à 17:53:24    

Bonjour. J'ai un programme en C, que je lance a partir d'un Xterm, appelons le 1.  
Et dans ce programme C, je cree avec l'appel system (system("xterm" );), un nouvel xterm 2, et j'aimerai que mes printf s'affichent sur ce second terminal, et non sur le premier.  
Merci de m'aider.

Reply

Marsh Posté le 10-12-2003 à 17:53:24   

Reply

Marsh Posté le 10-12-2003 à 17:59:37    

man fork, man pipe, man dup, man dup2
cela dit je ne sais pas comment ça fonctionne avec xterm, peut être qu'il te faudra y lancer un programme qui affiche ce qu'il lit dans un fichier, ton appli mère écrivant les informations à la volée de l'autre côté.
soif d'interface graphique ?
pourquoi tu as besoin d'afficher ça dans un autre terminal ?

Reply

Marsh Posté le 10-12-2003 à 18:01:45    

Pour faire une redimension du terminal, et afficher des infos en couleurs, sur fond en couleur...Ambiance... ;) Enfin, bon, ch'ais pas si avec des fork etc j'va y arriver.... :(

Reply

Marsh Posté le 10-12-2003 à 18:03:10    

pourquoi tu peux pas faire ça dans ton programme initial ? tu utilises ncurses pour la mise en forme, et si la taille du terminal te parait pas correcte, tu affiche un message d'erreur "me faut plus grand" et bye.

Reply

Marsh Posté le 10-12-2003 à 18:07:49    

Non, je recherchais plutot une option dans xterm, style xterm -"j'recupere la sortie std", ou un truc dans l'genre... Paske j'voudrais pas trop allourdir mon prog...

Reply

Marsh Posté le 10-12-2003 à 18:11:58    

bah en faisaint ça tu l'allourdie ... et puis c'est un peu bête de dévellopper une applciation console qui a besoin de X et de xterm
 
sinon, je sais pas si ce que tu demandes est faisable directement, voirla solution donéne avant


Message édité par Taz le 10-12-2003 à 18:12:29
Reply

Marsh Posté le 10-12-2003 à 18:15:12    

dans tous les cas voir les man

Reply

Marsh Posté le 10-12-2003 à 18:20:16    

Mouai. J'ai regardé les man, et vraiment... J'ai rien compris :) Tant pis, j'va m'debrouiller... Peut etre que si mon 2nd xterm recupere le focus... Faudra que je cherche comment. Merci de ton aide, en tt cas. Si une idee te vient, n'hesite pas! :)

Reply

Marsh Posté le 10-12-2003 à 18:23:25    

bah je te dis, tourne toi vers curses, tu ne seras déçu. n'empeche j'ai toujours pas compris ton besoin d'avoir 2 terminaux ...

Reply

Marsh Posté le 10-12-2003 à 18:25:56    

Bah voila. Un terminal qui lance mon execution (normal.) et un qui sert un peu, de..... Telecommande ou il y a des donnnées hyper importante... Et comme ca, mon 1er Xterm est clean,et mon 2nd j'le redimensionne a souhait, j'le mets en couleurs, etc....

Reply

Marsh Posté le 10-12-2003 à 18:25:56   

Reply

Marsh Posté le 10-12-2003 à 18:27:26    

tourne toi vers curses, tu peux splitter l'écran dans le meme terminal. franchement si t'as un peu de temps, ça vaut vraiment le temps

Reply

Marsh Posté le 10-12-2003 à 18:30:22    

Tout l'probleme est la.Etudiant, ch'uis en pleine periode d'exam'. Le temps, j'en ai plus trop :D Bon, ch'uis ok, fallait si prendre plus a l'avance, mais bon... C la vie des etudiants, ca!
J'irai voir curses, mais bon. Vu mon niveau, j'y crois pas trop...

Reply

Marsh Posté le 10-12-2003 à 18:30:45    

Et que dirais-tu d'un script shell qui lance xterm --lesoptionskivontbien tonprog ?


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 10-12-2003 à 18:31:58    

moi je ferais
 
xterm -e cat pipe_nommé
 
tout ça lancé par un fork & exec, pas de system


Message édité par Taz le 10-12-2003 à 18:32:19
Reply

Marsh Posté le 10-12-2003 à 18:32:32    

Mouai, c une bonne idee, ca... J'va essayer. Merci du bon conseil

Reply

Marsh Posté le 10-12-2003 à 18:36:27    

Heu... J'ai essayé avec le script, mais en fait, j'ecris tjs vers le premier terminal... Pourtant, j'ai tape:
xterm -geometry 20x10+0+0 -bg black -fg gray90 -name Progr &
./exemple01

Reply

Marsh Posté le 10-12-2003 à 18:38:16    

normal, il faut lancer une commande dans le xterm#2 qui lise les données, par pipe nommé, c'est un bonne solution, aou alors avec un simple fichier, que xterm#1 rempli que xterm#2 lit avec tail -f

Reply

Marsh Posté le 10-12-2003 à 18:42:50    

Oula, trop compliqué tout ca!!!

Reply

Marsh Posté le 10-12-2003 à 18:46:50    

bah c'est la seule solution.
 
écoute, pour toi, on fais simple
 
xterm#1
 - ouvre fichier /tmp/communication (évidemment, prends un nom aléatoire avec les fonctions faites pour)
 - fork + exec :lance xterm#2 -e tail -f /tmp/communication
 - écrire des trucs que doit affichier xterm#2 (du texte, des caracètres d'échapement, etc)
 (- tuer xterm#2)
  - supprimer le fichier temporaire
 
xterm#2
 - rien à faire, il lit et affiche

Reply

Marsh Posté le 10-12-2003 à 21:32:47    

HellodeLu007 a écrit :

Oula, trop compliqué tout ca!!!


 
He hellodelu007 ,on voit vraiment que t'es pas un gars qui doit faire de l'informatique !!  
pour poser des questions comme ca :no commet  :pt1cable:  !!  
 
il est dommageable pour toi de ne pas avoir suivi les cours de MR VERON qui enseigne a la fac de TOULON et du var !! tu n'aurais plus besoin de poser ce genre de question . et puis enleve ce "007" a la fin de ton pseudo :ca fait penser a james bond 007 alors que t'es loin d'arriver a la cheville de cette personnne pour qui tout est clair .  
 
Voila j'ai dit tout ce que j'avais a dire :si ca peut elargir le sujet  et faire reflechir ainsi qu'aider  mr hellodelu (remarquez que j'ai omis les "007" ) ,j'en serais ravi . :ange:

Reply

Marsh Posté le 10-12-2003 à 22:09:31    

bobbyf a écrit :


 
He hellodelu007 ,on voit vraiment que t'es pas un gars qui doit faire de l'informatique !!  
pour poser des questions comme ca :no commet  :pt1cable:  !!  
 
il est dommageable pour toi de ne pas avoir suivi les cours de MR VERON qui enseigne a la fac de TOULON et du var !! tu n'aurais plus besoin de poser ce genre de question . et puis enleve ce "007" a la fin de ton pseudo :ca fait penser a james bond 007 alors que t'es loin d'arriver a la cheville de cette personnne pour qui tout est clair .  
 
Voila j'ai dit tout ce que j'avais a dire :si ca peut elargir le sujet  et faire reflechir ainsi qu'aider  mr hellodelu (remarquez que j'ai omis les "007" ) ,j'en serais ravi . :ange:  

surréaliste  :ouch:

Reply

Marsh Posté le 10-12-2003 à 22:16:09    

j'aurais prefere avoir l'avis de l'interesse !!!

Reply

Marsh Posté le 10-12-2003 à 22:18:52    

bobbyf a écrit :

j'aurais prefere avoir l'avis de l'interesse !!!  

allez sors d'ici, tes messages n'apportent rien et relève du MP

Reply

Marsh Posté le 10-12-2003 à 22:30:02    

Taz a écrit :

allez sors d'ici, tes messages n'apportent rien et relève du MP


t'es qui TAZ un moderateur ?? ou un qui se prend pour un justicier sans coeur et sans remords ??

Reply

Marsh Posté le 10-12-2003 à 22:31:48    

bobbyf a écrit :


t'es qui TAZ un moderateur ?? ou un qui se prend pour un justicier sans coeur et sans remords ??  

je suis ton père :o

Reply

Marsh Posté le 10-12-2003 à 22:55:44    

bobbyf a écrit :


 
He hellodelu007 ,on voit vraiment que t'es pas un gars qui doit faire de l'informatique !!  
pour poser des questions comme ca :no commet  :pt1cable:  !!  
 
il est dommageable pour toi de ne pas avoir suivi les cours de MR VERON qui enseigne a la fac de TOULON et du var !! tu n'aurais plus besoin de poser ce genre de question . et puis enleve ce "007" a la fin de ton pseudo :ca fait penser a james bond 007 alors que t'es loin d'arriver a la cheville de cette personnne pour qui tout est clair .  
 
Voila j'ai dit tout ce que j'avais a dire :si ca peut elargir le sujet  et faire reflechir ainsi qu'aider  mr hellodelu (remarquez que j'ai omis les "007" ) ,j'en serais ravi . :ange:  


 
[:rofl]


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 11-12-2003 à 09:20:45    

No soucy, les gars. Pas d'bagarres sur le forum, siouplé :) Je remercie Taz et les autr' d'mavoir repondu, et ne vous inquiétez pas pour Bobbyf, c un ami de ma fac.  
J'vais essayer aujourd'hui de faire le truc avec fork etc... On verra, j'vous donnerai la reponse (pour servir de reference, pour d'autres personnes.)
Bye!

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed