Notifying via Terminal in Linux

So I’ve got this idea for a linux CLI program, and one of the things I
want the program to do is notify Users of an event via the terminal.

Is there something out there I can use to do this? I was thinking of
using the WALL command, but that seems sloppy and requires reading from
a file (for ubuntu).

El Viernes, 15 de Enero de 2010, Kurtis Rainbolt-greene escribió:

So I’ve got this idea for a linux CLI program, and one of the things I
want the program to do is notify Users of an event via the terminal.

Is there something out there I can use to do this? I was thinking of
using the WALL command, but that seems sloppy and requires reading from
a file (for ubuntu).

WALL command doesn’t require reading from a file, it reads the STDIN.

When you do “wall < FILE” you are redirecting the STDIN to the file, so
the
content of the file is passed to wall via STDIN.

When you run “wall” (just “wall”) you must insert text with the keyboard
and
press Ctrl+D to exist and deliver the message.

So in Ruby you could redirect the STDIN (better $stdin) to invoke the
system
command (not sure now how to achieve it but sure it’s possible).

press Ctrl+D to exist and deliver the message.

So in Ruby you could redirect the STDIN (better $stdin) to invoke the system
command (not sure now how to achieve it but sure it’s possible).

Yes, use popen3 to get a reference to stdin of the wall process and
write into the stdin. Should work anyway…

-Jonathan N.

El Viernes, 15 de Enero de 2010, Jonathan N.
escribió:> > and press Ctrl+D to exist and deliver the message.

So in Ruby you could redirect the STDIN (better $stdin) to invoke the
system command (not sure now how to achieve it but sure it’s possible).

Yes, use popen3 to get a reference to stdin of the wall process and
write into the stdin. Should work anyway…

With popen4 you also get the correct exit status code of the command :slight_smile:

Kurtis Rainbolt-greene wrote:

So I’ve got this idea for a linux CLI program, and one of the things I
want the program to do is notify Users of an event via the terminal.

I think this utility already exists: syslog. It can also output certain
messages to the terminal.

Hello Kurtis,

2010/1/15 Kurtis Rainbolt-greene [email protected]:

So I’ve got this idea for a linux CLI program, and one of the things I
want the program to do is notify Users of an event via the terminal.

Is there something out there I can use to do this? I was thinking of
using the WALL command, but that seems sloppy and requires reading from
a file (for ubuntu).

If your program is intended to be run from the command-line, why a
simple “puts” would not be enough ? It will naturally write to STDOUT
which is the terminal that ran the command.

BTW, I don’t think that users will be pleased if your program write on
all their open terminals using wall. I usually have 16 of them open,
each doing a different thing and a program that periodically write
things on all of them will quite rapidly upset me.

Cheers,