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

FreeBSD Manual Pages

  
 
  

home | help
XMOTD(8)		     System Manager's Manual			XMOTD(8)

NAME
     xmotd - message-of-the-day browser for X (and dumb terminals, VT100, etc.)

SYNOPSIS
     xmotd [X-toolkit options] [xmotd-options] file [file2 ... ]

     xmotd [X-toolkit options] [xmotd-options] directory

     or (in text-mode)

     xmotd [-stampfile stamp-file] [-wakeup sleep-period] file [file2 ...]

DESCRIPTION
     xmotd  is	a  utility program (for X11 and dumb terminals) that can be exe-
     cuted during the login process to display pertinent messages (i.e. the mes-
     sage of the day) or to periodically check, while the  user  is  logged  in,
     whether  one  or  more message files have been modified and display them if
     they have. Under X11, it displays a customizable  bitmap  in  the	top-left
     corner. It provides for up to 3 lines of title-text (the length of the text
     depends  on  the  size of the font chosen). It has a "Dismiss" button below
     the bitmap and a read-only text-widget that displays the message  (or  mes-
     sages)  of  the day. The date of the message (and optionally, the filename)
     is displayed just above the text.

     xmotd can be configured to run in various modes: to always pop-up after lo-
     gin or to pop-up only when the  motd  changes;  to  pop-down  automatically
     (without  user-intervention)  after  a specified delay; to run in the back-
     ground and periodically check if the motd has changed and	display  it.  By
     default, xmotd displays a message only if the file(s) was updated since the
     last time the user read it.

     If  xmotd	has  to display more than one file, the user is obliged to press
     the "Next Message" button to view subsequent messages; the text of the but-
     ton changes to "Dismiss" when the last message is displayed.

     xmotd defaults to text-only mode (output to stdout when it  cannot  connect
     to an X display. This mode is useful for running xmotd from user's ~/.login
     file in cases where they can also login via dialup.

     xmotd can display messages marked-up with HTML and xpm colour pixmap logos.
     Support for these must be configured at compile-time.

OPERATION
     xmotd  is	usually  run from the system Xsession file via xdm(1), CDE login
     and/or from the user's ~/.login file. At sites where xdm is not used, xmotd
     may be run from the user's ~/.xinitrc where a (possibly) malicious user may
     intentionally or accidently remove the xmotd invocation from the file.

     When xmotd first runs, it creates	a  timestamp  file  (by  default  called
     .xmotd  )	in  the  user's home-directory. On subsequent invocations, xmotd
     uses the date of this file to decide whether or not the  message-of-the-day
     (motd)  files have been updated. If the date of the motd file is later than
     the date on the ~/.xmotd file, then xmotd will display the motd file;  oth-
     erwise  it  will  silently exit (if there are no more files to be displayed
     and if -wakeup was not used). When invoked with -wakeup,  xmotd  daemonizes
     itself  and goes to sleep for the specified sleep-period, periodically wak-
     ing-up to see if the motds have changed and then displaying them.

     By default, xmotd pops-down only when the "Dismiss" button is clicked;  the
     rest  of the login-procedure then continues. This interactive behaviour can
     be overriden so xmotd will pop-down  without  user  intervention,	after  a
     specified timeout period.

OPTIONS
     All  the  standard X options are valid. In addition, the following options,
     which may also be set as  resources  in  the  app-defaults  file  (See  RE-
     SOURCES), are available:

     -always

	     overrides	xmotd  default	behavior; the ~/.xmotd time-stamp is ig-
	     nored and the message (or	messages)  is  always  displayed.  Zero-
	     length (empty) files are displayed when this option is specified.

     -atom atom-name

	     register  xmotd  with name atom-name. By default, only one xmotd is
	     allowed to run (per user). You can  permit  multiple  instances  of
	     xmotd  to	run  by giving each instance an unique name.  xmotd will
	     intern an atom with the X server, that combines the  atom-name  and
	     the  user's  login-id  (e.g. "xmotd.elf" ; the default atom name is
	     "xmotd"); subsequent invocations of xmotd will check if  this  atom
	     exists and exit if it does.

     -bitmaplogo bitmap-filename

	     specifies	that  the  bitmap  bitmap-filename is to be displayed in
	     place of the default bitmap, the "X" logo.  Ideally, the  specified
	     bitmap should have a width and height of 100 pixels. If xpm support
	     is  compiled-in, xpm colour pixmaps may be substituted instead. See
	     NOTES for additional details.

     -browser web-browser

	     specifies the path and filename of a web-browser to be used when an
	     URL is clicked (HTML version  only).  By  default,  web-browser  is
	     "netscape". See NOTES for additional details.

     -help

	     displays command-line options usage.

     -paranoid

	     (used  with -warnfile) displays the warning message unconditionally
	     at every login (even when there are no messages to be displayed).

     -popdown timeout

	     exit or pop-down without user intervention, timeout  seconds  after
	     being  invoked.  The  user can dismiss xmotd at any time before the
	     timeout, by clicking on the "Dismiss" button. This option	is  only
	     valid  at	the  initial  login; it is ignored on subsequent pop-ups
	     when xmotd is invoked with -wakeup.

     -showfilename

	     displays the filename of the file currently being viewed (as it ap-
	     pears on the command-line), alongside the date.

     -stampfile stamp-filename

	     overrides the default timestamp filename, ~/.xmotd, and uses stamp-
	     filename instead.

     -tail

	     display the end of a file; the text is  automatically  scrolled  so
	     the end of the file is visible.

     -usedomains

	     uses  local  domain-name  based time-stamping in cases where user's
	     home-directories are shared (NFS mounted) across  various	domains.
	     Time-stamps are created (and checked) with appropriate domain-names
	     appended.

     -warnfile warning-filename

	     specifies	a  file containing a standard message used to warn users
	     of the consequences of deviance and  sundry  unlawful  things  they
	     should  not  even	think  of  doing on your network; your network's
	     rules of use, information about  disk  quotas,  modem  charges  and
	     printer accounting fees (used with -paranoid).

     -wakeup sleep-period

	     causes xmotd to run in the background and wakeup periodically every
	     sleep-period  hours  to  check whether the files have been modified
	     and therefore need to be (re-)displayed. The sleep period is speci-
	     fied as a floating point number where the fractional portion  indi-
	     cates  the  number  of minutes. For example, a sleep-period of 0.25
	     indicates 15 minutes (one quarter of an hour) and a sleep-period of
	     1.5 indicates one and one-half hours; the minimum (enforced) sleep-
	     period is 1 minute. The -wakeup option is	useful	at  sites  where
	     users with personal workstations never log-out. See NOTES for addi-
	     tional details.

     file [file2 ... ]

	     one  or  more  files  to be displayed may be specified. The file(s)
	     contain the text of the message(s) of the day. If HTML  support  is
	     compiled-in the motd files should be marked-up with HTML.

     directory

	     Instead  of  supplying one or more files on the command-line, xmotd
	     may be supplied a directory containing  file(s)  to  be  displayed.
	     xmotd  will  scan the directory and display all the files contained
	     therein, that need to be displayed. This  feature	is  useful  when
	     used  with  the  -wakeup option; upon waking-up, xmotd will re-scan
	     the directory for any files (including new  files	that  have  been
	     subsequently added) that need to be displayed.

EXAMPLES
     Give  xmotd a geometry option to tell it to pop-up at a location other than
     0,0 and read-in the message-of-the-day from the file /usr/local/motd:

	xmotd -geometry +20+20 /usr/local/motd

     Use a bigger window (900x600) and automatically position  it  (at	top-left
     corner  at  20,20), always pop-up xmotd displaying the contents of /usr/lo-
     cal/motd, ignoring the user's ~/.xmotd timestamp-file and pop-down after 20
     seconds:

	xmotd -geom 900x600+20+20 -always -popdown 20 /usr/local/motd

     Use a custom bitmap in the file /usr/local/xmotd.bm:

	xmotd -geom +5+5 -bitmaplogo /usr/local/xmotd.bm /usr/local/motd

     In the following example, all the files  in  /usr/local/messages/	will  be
     checked  for  modification times greater than the time-stamp and only those
     files will be displayed and every eight and a half hours, xmotd will  check
     if  any  files  have changed (or new ones added) and display them if neces-
     sary:

	xmotd -geom +5+5 -wakeup 8.5 /usr/local/messages/

     To display a warning-message every time the user logs-in (even when no mes-
     sages need to be displayed), and to display the filenames of the files  be-
     ing viewed, use:

	xmotd -geom +5+5 -warnfile /usr/local/WARNING -paranoid \
	   -showfilename /usr/local/motds/

     X	resources  may	be  changed from the command-line using the -xrm option.
     This example (typed as a single line) illustrates how  xmotd  can	be  cus-
     tomized exclusively from the command-line:

	 xmotd -always \
	     -xrm "*title.label: Top 10 Disk Hogs\n As of midnight\n " \
	     -xrm "*title.foreground: yellow" \
	     -xrm "*form.background: red" \
	     -xrm "*title.background: red" \
	     -xrm "*logo.background: pink" \
	     -xrm "*text*font: -adobe-times-bold-*-normal-*-*-180-*" \
	     -geometry 500x650-1-1 \
	     -bitmaplogo /usr/common/choke.xbm
	     -popdown 10 \
	     /usr/common/accounting/top &

RESOURCES
     editres(1)  may  be  used	to edit resources. The application class-name is
     XMotd.

     The resource: XMotd*Always (set to either True or False) is  equivalent  to
     the -always command-line option.

     The  resource:  XMotd*Atom (set to the name of the atom xmotd is registered
     with) is equivalent to the -atom command-line option.

     The resource: XMotd*BitmapLogo  (set  to  the  path  and  filename  of  the
     bitmap/pixmap-file) is equivalent to the -bitmaplogo command-line option.

     The resource: XMotd*Browser (set to the path and filename of the browser to
     be  used  when  users click on an URL (HTML version only)) is equivalent to
     the -browser command-line option.

     The resource: XMotd*Paranoid (set	to  True/False)  is  equivalent  to  the
     -paranoid command-line option.

     The resource: XMotd*Popdown (set to the number of seconds) is equivalent to
     the -popdown command-line option.

     The  resource:  XMotd*UseDomains  (set  to True/False) is equivalent to the
     -usedomains command-line option.

     The resource: XMotd*ShowFilename (set to True/False) is equivalent  to  the
     -showfilename command-line option.

     The  resource: XMotd*Warnfile (set to the path and filename of the warning-
     file) is equivalent to the -warnfile command-line option.

     The resource: XMotd*Tail (set to True/False) is  equivalent  to  the  -tail
     command-line option.

     The  resource:  XMotd*Wakeup  (set to an floating-point number representing
     hours) is equivalent to the -wakeup command-line option.

     The resource: XMotd*title.label (set to a possibly multi-line  string)  may
     be used to customize the title.

     By  default,  the	title is the single line:"Message Of The Day\n\n\n" (the
     2-character sequence, "\n", indicates a carriage-return).

     For example, if you want a 2 line title that reads:

	      This is the
	   Message of the Day

     the resource can be specified as:

	    *title.label: \	  This is the\nMessage of the Day\n\n

     Note that the first backslash quotes the leading  spaces  that  indent  the
     words, "This is the".

WIDGET HIERARCHY
     The widget hierarchy is as follows (Class-name & object-name):
     XMotd xmotd
	     Form form
		 Label logo
		 Label title
		 Label hline
		 Label info
		 Command quit
		 Text text     OR      Html text

FILES
     $ProjectRoot/lib/X11/xdm/Xsession

     (where $ProjectRoot is /usr/X11R6 or, perhaps /usr/X11).

     For  systems  running  CDE  put a script that invokes xmotd in /etc/dt/con-
     fig/Xsession.d/

     $HOME/.xmotd (default timestamp filename)

     $HOME/.login

SEE ALSO
     X(1), xdm(1), editres(1),	login(1),  xv(l),  gimp(l),  xpaint(l),  cat(1),
     less(l)

NOTES
     The  -always  option  is considered fascist; it is provided merely for com-
     pleteness and for testing purposes.

     If  xpm  support  is  compiled-in,  xmotd	-help  will  print   the   words
     "bitmap/pixmap" for the -bitmaplogo description instead of just "bitmap".

     Under dumb-terminal mode, all command-line options are ignored with the ex-
     ception  of  -stampfile  and  -wakeup;  the -always option is equivalent to
     cat'ing the motd from the ~/.login file; and -popdown is not  really  rele-
     vant. Both -warnfile and -paranoid may be simulated with appropriate cat(1)
     and more(1) commands.

     xmotd  processes  invoked	with  -wakeup will continue sleeping, "S" in the
     ps(1) status field, after the user has logged-out until the  sleep  timeout
     expires. Only when xmotd wakes-up, will it detect that the user has logged-
     out and exit. xmotd's logout-detection routine relies on the xdm(1) support
     scripts  GiveConsole  (which chown's /dev/console to the user) and TakeCon-
     sole (which chown's /dev/console back to root) setting the correct  permis-
     sions  and  ownership  on /dev/console. When xmotd wakes-up, it attempts to
     open(2) /dev/console for reading; if this open fails, it is  an  indication
     that  the	user has logged out because TakeConsole has changed ownership of
     the console.

     The -browser option was originally called -netscape; it was renamed  to  be
     more generic. When initially run, the browser is invoked as:

	 netscape %s

     where %s is replaced by the selected URL. Subsequent URLs will be displayed
     in the already running browser using the syntax:

	 netscape -remote openURL(%s)

     You  may  substitute  a browser of your choice for netscape, if it supports
     this syntax.

BUGS
     There are no provisions for displaying embedded images in the HTML  version
     of  xmotd (until a stable XmHTML widget is available, or perhaps when xmotd
     is ported to the GTK).

     At least one other.

QUOTES
		     ...and our lives are forever changed
			   we will never be the same
		     the more you change the less you feel

		    --Tonight, tonight,
		    "Mellon Collie And The Infinite Sadness"
		    Billy Corgan, The Smashing Pumpkins

		  Omnia mutantur, nos et mutamur in illis.
	       (All things change, and we change with them).

		    --Matthias Borbonius:
		    Deliciae Poetarum Germanorum, i. 685

		      To everything there is a season,
		 And a time to every purpose under heaven.

		    --Ecclesiastes 3:1-4

AUTHORS
     Luis Fernandes <elf@ee.ryerson.ca> is the primary author and maintainer.

     Richard Deal <rdeal@atl.lmco.com> contributed the directory-scanning code.

     Stuart A. Harvey <sharvey@primenet.com> contributed the  URL  support  code
     for the HTML version.

     David  M.	Ronis <ronis@onsager.chem.mcgill.ca> contributed code to support
     xpm logos.

COPYRIGHT
     Copyright 1993 (as xbanner, no public release)

     Copyright 1994-97, 1999,  2001, 2003 Luis A. Fernandes

     Permission to use, copy, hack, and distribute this software and  its  docu-
     mentation	for any purpose and without fee is hereby granted, provided that
     the above copyright notice appear in all copies and that  both  that  copy-
     right notice and this permission notice appear in supporting documentation.

     This  application	is  presented  as is without any implied or written war-
     ranty.

     This program is free software; you can redistribute it and/or modify it un-
     der the terms of the GNU General Public License as published  by  the  Free
     Software  Foundation;  either version 2 of the License, or (at your option)
     any later version.

     This program is distributed in the hope that it will be useful, but WITHOUT
     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or  FIT-
     NESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
     details.

     You  should  have	received  a copy of the GNU General Public License along
     with this program; if not, write to the Free Software Foundation, Inc., 675
     Mass Ave, Cambridge, MA 02139, USA.

     The HTML widget Copyright 1993, Board of  Trustees  of  the  University  of
     Illinois.	See  the  file libhtmlw/HTML.c for the complete text of the NCSA
     copyright.

     NOTE: THE HTML WIDGET IS NOT DISTRIBUTED IN THE "LITE" VERSION OF THE xmotd
     DISTRIBUTION, WHICH IS THEREFORE FULLY COMPLIANT WITH THE GPL.

X11 Release 6.4 		   Nov 24 1999				XMOTD(8)

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

home | help