Comment générer un terminal lors de l'exécution d'un programme C compilé?


2

J'ai écrasé le programme gnome-screenshot pour l'adapter à mes besoins en obtenant une capture d'écran d'une sortie secondaire de la carte graphique faite à la maison. Désormais, lorsque j'appuie sur le bouton PrintScreen, il l'exécute (à votre guise). Cependant, il y a quelques déclarations "printf" dans le programme (écrit en C) que j'aimerais pouvoir voir en sortie. Est-ce qu'il y a un moyen de faire ça? Peut-être en créant un terminal lorsque le programme s'exécute?

En cours d'exécution: client Red Hat Enterprise Linux version 5.8 (Tikanga)


Vous pouvez essayer d'utiliser un script pour diriger la sortie vers une fenêtre stdout.
Percée

Pourriez-vous élaborer? Exemple peut-être?
user1028435

Seth Noble a posté une excellente réponse détaillant cela.
Percée

J'imagine que j'étais confus, car lorsque j'essaie ce qu'il a mentionné, un fichier "1" et le fichier journal sont créés. J'ai ajouté l'ouverture du journal dans gedit en tant que deuxième commande de script une fois l'opération terminée, mais je ne savais pas s'il était possible de créer une fenêtre de terminal au lieu d'un fichier.
user1028435

que se passe-t-il lorsque vous dirigez la sortie vers echo? (c.-à-course myprscr | echo)
Percée

Réponses:


2

Le moyen le plus simple de capturer la sortie consiste à envelopper votre commande PrintScreen dans un shell et à rediriger la sortie vers un fichier. Par exemple, si votre programme est nommé myprscr, le script shell peut être:

#!/bin/sh
myprscr 2>1 1>>/tmp/myprscr.log

Demandez ensuite au bouton PrintScreen d'exécuter ce script shell à la place de votre commande. Vous voudrez probablement utiliser le chemin complet pour myprscr.


Oui, je pense que cela va être la réponse gagnante. Et dire que j'ai eu tant de peine à faire pleurer une petite barre de progression ASCII .
user1028435

Juste FYI reviendrait au vote mais je n'ai pas assez de karma.
user1028435

Essayer ceci maintenant, mais la sortie ne sera affichée qu'une fois que myprscr sera complètement terminé ... de toute façon, de le faire en "temps réel?"
user1028435

Vous pouvez ouvrir un autre terminal et le fairetail -f /tmp/myprscr.log
Seth Noble
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.