                        ZEPHYR QUICK STARTUP GUIDE

                 (c) Ch. Bernard. Guide released under GPL.
                      bernard@cmapx.polytechnique.fr

DESCRIPTION

Zephyr is a very nice message handling system designed to work under a X or
a simple text environment. Users can locate other users, and send them short
messages called "zephyrograms" that pop up in a window on the desktop of the
addressee, or appear on their text console almost like a standard "write"
message.

At MIT, this system is used for working purposes, but also for more practical
purposes, like meeting for lunch or dating (where authentication, encryption
are of major importance!), or asking who has won the last soccer champion-
ship.

The zephyr system uses three kinds of daemons:
- a network wide daemon started on a single server, called "zephyrd". (May
be more: RTFM for more details).
- a workstation wide daemon started on any workstation where people are
supposed to send or receive zephyrograms. This daemon is called "zhm"
- a user daemon started on login, called "zwgc". To be located and to
receive a zephyrogram, a user has to start a zwgc daemon.

The two first are started with root priviledges, usually at boot time. The
third one is, as said, started by the end user under normal priviledges.

NOTICE

Zephyr has been designed to work under a Kerberos environment, where all the
messages are authenticated and encrypted. However, since export of Kerberos
is restricted by US laws, this version is compiled WITHOUT Kerberos support.
Thus, the messages you send are neither authenticated, nor encrypted.  

INSTALLATION:

Install zephyr-2.0.4-9.i386.rpm on all workstations where you want people
to send/receive zephyrograms:

  workstation# rpm -Uvh zephyr-2.0.4-9.i386.rpm
  workstation#

Choose one workstation to be the server (say zserver.mydomain.edu), and install
on this host the zephyr-server rpm in addition:

  zserver# rpm -Uvh zephyr-2.0.4-9.i386.rpm
  zserver# rpm -Uvh zephyr-server-2.0.4-9.i386.rpm
  zserver#

CONFIGURATION:

On each workstation (including the server), edit the file
"/etc/sysconfig/zephyr" so that the host is aware of the zephyr server name.
In our case, it should look like:

  ==/etc/sysconfig/zephyr starts==
  
  #
  # Put the name of your zephyr server here.  If you do not specify one
  # it will use your hostname
  #
  ZEPHYR_HOST=zserver.mydomain.edu
  
  ==/etc/sysconfig/zephyr ends==

That's it for configuration.

PRIVILEDGED DAEMON STARTUP:

The scripts in /etc/rc.d/init provide for daemon startup for the standard
runlevels. So, there are two ways to start up the daemons:

I)

Shutdown and restart all the workstations, starting from the server. This is
a little tough, especially if several people are using the stations in your
networked environment.

II)

Execute the /etc/rc.d/init.d scripts. First, on the server, type:

  zserver# /etc/rc.d/init.d/zephyr.init start

Then, on all workstations, type:

  workstation# /etc/rc.d/init.d/zhm.init start

USER DAEMON STARTUP

To make a test, start up the daemon manually, as a standard user:

  bozo% zwgc

under a X environment (DISPLAY variable set correctly), or simply

  bozo% zwgc -ttymode

else.

Then, send your first windowgram to yourself! Type

  bozo% zwrite bozo
  Type your message now.  End with control-D or a dot on a line by itself.
  Hello Bozo. This is a test zephyrogram from Bozo.
  (ctrl-D)
  bozo%

And a window pops up with your message.

You can also locate yourself:

  bozo% zlocate bozo
  workstation.mydomain.edu          workstation:0 Web Jul 15 14:35:28 1998
  bozo%

This tells where you are logged in, and what your display is, and when your
zwgc daemon was started up.

WHERE TO START UP THE USER LEVEL DAEMON ?

For my own, I consider the file ".xsession" or ".xinitrc" to be the best
place to startup the daemon. Some people consider the shell startup scripts,
but I consider that it may be very inconvenient if log into several hosts
during the same session (which is very common in an open network environment:
if you open, say, 10 X windows sessions on 10 hosts, and start 10 zwgc daemons,
any message will pop up 10 times on your desktop, which may be .. annoying).

So, if you follow my option, just put an additional line "zwgc" in your
.xsession of .xinitrc file, depending on whether you use xdm or startx.

Sysadmins may also consider putting this line into a system wide startup
file (say /etc/X11/xdm/Xsession for xdm under Redhat-5), so the end users
won't have to worry about starting zwgc.

WHAT IF I LOG REMOTELY AND DON'T HAVE ANY X DISPLAY ?

Start up zwgc under text mode, namely:

  bozo% zwgc -ttymode
  bozo%

PRIVACY ISSUES

If you don't want to be located, just type

  bozo% zctl hide
  bozo%

and then, any zlocate request will answer the same as if you
weren't logged in.

To revert this setting, type

  bozo% zctl unhide
  bozo%

If you do not want to receive any windowgram, type

  bozo% zctl wg_shutdown
  bozo%

and any zwrite to you will be denied. Again, to revert this setting, type

  bozo% zctl wg_startup
  bozo%

NOTE: if you REALLY do not want to be detected, you should BOTH hide and
refuse windowgrams. If you just hide, people will still be able to send
you messages and will infer that are logged in somewhere, and that you are
not willing to be located.

WHY SHOULD I READ THE FINE MANUAL

Zephyr has many more features: broadcasted message classes to which you can
subscribe, a mail notifier that pops up a window any time you get a new mail
message, with the mail header, and much more. You should read the ZEPHYR docs
provided in this package in /usr/doc/zephyr-2.0.4-9/ and the man pages
starting from 'zephyr'.

---------------------------------------------------------------------------

