This is the command orville-write that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
write - write to another user
SYNOPSIS
write [-ctynsprfSv] [ user [ tty ] ]
ojot [-ltynsprfSv] [ user [ tty ] ]
tel [-clynsprfSv] user [ tty ] [message...]
DESCRIPTION
Note: This is "Orville write", an enhanced version of the standard Unix write program.
Write copies lines from your terminal to that of another user. When first called, it
sends the message:
Message from your-logname your-tty ...
The recipient of the message should write back at this point. Communication continues
until an end of file is read from the terminal or an interrupt is sent. At that point,
write writes "EOF (your-logname)" on the other terminal and exits.
The following protocol is strongly suggested for using write: when you first write to
another user, wait for him or her to write back before starting to type your message.
Each party should end each message with a distinctive signal (o for ``over'' is
conventional), indicating that the other may reply; oo for ``over and out'' is suggested
when conversation is to be terminated. Avoid typing when it is the other person's turn,
as your text will get all garbled with theirs. Anyway, it's rude.
The ojot command is a variation of write which normally sends each character to the other
user as you type it instead of waiting for you to finish a line before sending anything as
write does.
The tel command sends one line ``telegrams'' and then immediately disconnects. The
message may be given on the command lines (in which case it is usually best to quote it).
If you don't put a message on the command line, you will be prompted for it. This is
usually the preferable way to invoke tel.
All three commands are actually the same program, and share much of the same behavior.
Permission to write may be denied or granted by use of the mesg(1) command. Your write
permissions upon login are installation dependent. If you write a person who has
permissions on, but is currently writing someone else, you will be warned of the fact and
be given a chance to cancel your write request before interupting the other conversation.
If you write a person who is running a command under amin(1) you will be warned similarly.
You can always send messages to people who are currently writing to you, even if there
message permissions are off. If you have sent a person a tel message, then that person
can write or telegram to you for the next 4 minutes, even if your message permissions are
off. This means that you won't be sitting around wondering why someone won't reply, just
because you've forgotten to turn your permissions on. It also means that if you don't
want someone to be able to talk to you, then you shouldn't talk to them. Root may write
anyone.
If you invoke the write or ojot command with no user name, they will write to whatever
user is currently writing you. If no one is writing you, an error message is printed.
If you invoke the write, ojot, or tel command with the user name '.', they will write
again to whoever you wrote to last. If you haven't written to anyone in this login
session, an error message is printed. This is especially useful when you are exchanging a
series of messages back and forth with tel.
If you want to write to a user who is logged in more than once, the tty argument may be
used to indicate the appropriate terminal. If the tty argument is not given, the terminal
from which you are being written will be written to, if there is one. If not, one of the
lines you have write permission to will be chosen. If the tty argument is given, the user
name can be given as "-", in which case it will write to whomever is on that tty, if
anyone is.
On some systems there may be users designated as ``helpers''. If your system has helpers,
then doing ``write help'' will write to some helper who is not busy. If more than one
helper is available, one is selected at random to distribute the workload. Helpers
designate themselves with the mesg(1) command. They are considered busy if they are
writing someone else, or if they are running a command under the amin(1) program.
If the character ! , | , or & is found at the beginning of a line, write calls the shell
to execute the rest of the line as a unix command. If the command began with a ! the
output of the command will be sent only to your terminal. If it began with a |, output
will be sent only to the other person's terminal. If it began with a & each of you will
recieve a copy of the output. Note that write expands all strange control characters
before sending them to the other person's terminal, but does not do so for characters
echoed back to your terminal.
Write provides several command line options. Actually, the only difference between write,
ojot, and tel is what default values they have for these options:
-c Send each character as it is typed. Actually, it will not begin doing so until
after the other party has replied. Also, if you type a line starting with a ")"
then the rest of the current line will be held until you hit return and the sent
(minus the ")"). When this option used, typing a control-R will reprint the text
of the line you are currently typing, and control-W will erase the last word you
typed, even if your unix system doesn't usually support these. In the ojot command
this is the default.
-l Send no characters until a full line has been entered. In the write command this
is the default.
-n During the duration of this conversation, temporarily turn off your message
permissions, so as not to allow people other than the person being writen to write
you.
-y During the duration of this conversation, temporarily turn on your message
permissions, allowing other people to write you after warning them that you are
writing someone else.
-p Postpone the receipt of telegrams during the duration of the conversation. All
telegram received during the conversation will be saved in your .lastmesg file, and
will be displayed when you are finished. The huh(1) command can be used in a shell
escape to check saved messages without leaving write.
-s During the duration of this conversation, leave your write permissions unchanged.
This normally the default.
-r This causes write to prompt for the root passwd. If it is given correctly, you
will be able to write anyone, no matter how his message permissions are set, amd
you can override his preference for write or tel.
-f Disallow piping input through write and disable the '&' and '|' shell escapes.
This is mostly meant to be used on 'options' commands in the orville.conf file. It
has been mostly obsoleted by the 'pipes' configuration command.
-t Sends a one line message (called a telegram) and then disconnects immediately. The
text of the message may be given on the command line, or, if it isn't, you will be
prompted for it. Though write will attempt to blank out messages given on the
command line so they cannot be seen by users running w(1) or ps(1), this will not
always work, so secret messages should not be placed on the command line. This is
the default in the tel command.
-S Normally if you send a telegram to someone who has indicated a preference for
writes, you get asked if you want to switch to writing, and vice versa. The -S
flag suppresses this question, and just makes it quietly fail (unless you are root,
in which case it quietly succeeds).
-v print the version number.
The options selected by the writer may in some cases be overridden by the recipient. You
can set your preferences for writes versus telegrams, and for line mode versus character
mode with the mesg(1) command. If the recipient has set write/telegram preferences, you
will be asked if you want to use the other if you write him the wrong way. If you invoke
Write with a -S flag, then you will not be asked if you want to switch. Only root can
actually override the recipient's preferences. For regular users, if you decline to
switch, the command fails.
If the recipient has set character/line mode preferences, a message will be printed and
you will be forced into his or her prefered mode.
CONFIGURATION
The orville.conf file contains configuration information for Orville write and the
associated utilities. Lines starting with '#' and blank lines are ignored. Other lines
contain the commands listed below:
answertel <seconds>
Normally you can send telegrams to a person for four minutes (240 seconds) after
they sent you a telegram, even if their message permissions are off. This
command can be used to set size of that window to other values.
disconnect [y|n]
If disconnect is enabled the 'mesg d' and 'mesg N' commands can be used by the
writee to disconnect everyone currently writing them. (See mesg(1)). It is
enabled by default.
exceptions [y|n]
If exceptions are enabled the 'mesg ye' and 'mesg ne' commandsa can be used to
limit which particular users can and cannot write you (See mesg(1)). It is
enabled by default.
fromhost [y|n]
If this flag is set, then message announcement banners will include the hostname
of the sender's machine (and the reciever's since write does not allow interhost
communications). It is disabled by default.
helperlist <path>
If this flag is set, then only people whose logins appear in the given file may
be helpers. Otherwise, anyone may be. It is disabled by default.
helpername <name>
By default you get help by doing 'write help'. If you want to use some keyword
other than 'help', use this command to define it.
helpers [y|n]
Can people designate themselves to be helpers, and should 'write help' work? By
default, no.
log <path>
What file should logging be done in? If not defined, or if it is defined and
the file does not exist, then no logging will be done.
loglevel <num>
How much logging should be done? Level 0 means none. Level 1 means only log
help requests (with information about whether they succeeded or not). Level 2
means logging a one-line description of each write connection made. Of course,
no logging is done if 'log' is not defined or does not exist. No content of any
write conversation is ever logged. The default is 1.
nohelp <path>
If someone does 'write help', but no helpers are found, this file is displayed.
Normally it has information on other places to get help. If not defined,
nothing is printed.
pipes [y|n]
If turned off, this disallows piping data through write, so you can't do
escapes. This may be necessary if many users are using write to annoy other
users by sending large chunks of data. It defaults on.
novicehelp <path>
If the environment variable NOVICE is defined, then print the contents of this
file before running write. If not defined, nothing is printed.
options <command-name> -<flags>...
Set default options for different links to the write program. For example, if
you have the line 'options jot -c' and you make a link to the write program
named 'jot', then jot will default to character mode instead of line mode. If
command-name is '*', then all links (even ones created by users) get that
option.
wrthist <path>
This is the full pathname of the 'wrthist' file which maintains information
about user's recent messages. It is used to limit telegram flooding attacks,
and allow replies to telegrams during the four minute window. By default it is
in the same directory as the
wrttmp <path>
This is the full pathname of the 'wrttmp' file which maintains information about
user's current state. By default it is in the same directory as the
Use orville-write online using onworks.net services