Jacob Collins
Jacob Collins

Reputation: 37

Send echo command to an external xTerm

I have a bash script, and I want to be able to keep a log in an xterm, and be able to send echo to it anytime.

How would I do this?

Upvotes: 0

Views: 1086

Answers (2)

Jacob Collins
Jacob Collins

Reputation: 37

I managed to make a console by running an xterm with a while loop clearing the screen, reading the contents of the log file, pauseing for a second, then looping again. Here was the command:

xterm -T Console -e "while true: do cls && cat ${0}-LOG.txt && sleep 1; done"

Then to send something to the console:

echo -e "\e[91;1mTest" >> ${0}-LOG.txt

And the console will update each second.

Upvotes: 1

Dima Chubarov
Dima Chubarov

Reputation: 17179

Check the GPG_TTY variable in your xterm session. It should have the value similar to

GPG_TTY=/dev/pts/2

This method should be available for terminals that support GNU Pinentry.

Another option to determine the current terminal name is to use

readlink /proc/self/fd/0 

The last method applies only to Linux

Now if your bash script implements a command

echo "Hello, world!" > /dev/pts/2

This line should appear on the xterm screen.

Upvotes: 2

Related Questions