Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
WRITE(1)		    General Commands Manual		      WRITE(1)

NAME
       write - write to	another	user

SYNOPSIS
       write [-ctynsprfSv] [ user [ tty	] ]
       jot [-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.  Communi-
       cation 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  conver-
       sation 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 jot command is a variation of write which normally sends each char-
       acter 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 dis-
       connects.  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 prefer-
       able 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) com-
       mand.   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 re-
       ply, 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 jot 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,	jot, 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)  pro-
       gram.

       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  com-
       mand.   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 dif-
       ference between write, jot, 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 jot 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 af-
	      ter 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 es-
	      cape to check saved messages without leaving write.

       -s     During the duration of this conversation,	leave your write  per-
	      missions 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  discon-
	      nects  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	 pref-
       erences.	  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' com-
		 mandsa	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  re-
		 ciever's  since  write	 does  not  allow interhost communica-
		 tions).  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 de-
		 fault 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 main-
		 tains 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	 main-
		 tains	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).

7th Edition			 Jan 20, 2000			      WRITE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=write&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>

home | help