Provided by: orville-write_2.55-2.3_amd64 bug

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

AUTHOR

       Jan Wolter

SEE ALSO

       mail(1), mesg(1), who(1), huh(1), finger(1), amin(1), helpers(1).