Zephyr on Athena (AC-34)


Table of Contents || Revision history || Copyright information

Overview

Zephyr is a communication service for sending and receiving messages interactively. It's faster than an e-mail system; messages are delivered instantaneously, however you can converse only with other users who are logged on and running Zephyr at the same time you are.

This document describes the following aspects of Zephyr:



Zephyr concepts

Zephyr allows users to conduct one-on-one and group conversations and to receive notices, e.g., notification of incoming e-mail. Zephyr makes use of an identifying sequence for users to specify with whom they want to converse, or what kinds of notices they want to receive. The identifying sequence is made up of three components: class, instance and recipient.

To carry on conversations with Zephyr, you send messages and you also specify what kinds of messages (or notices) you want to receive which is called "subscribing." Besides standard classes and instances that are in use you, and others with whom you want to converse with, can make up your own. For example, if you and your friends want to converse about mystery book writers, you could all send and subscribe to the class name "mystery" and the instance name "writers."


Guidelines for specifying classes, instances and recipients

In many cases, you don't need to specify all three components, i.e., class, instance and recipient, when sending or subcribing to messages because Zephyr uses a number of defaults. It's useful to understand the system of defaults so you can make sure that you're sending and/or subscribing to the right messages. The following is a list of the defaults:

Using * to specify class, instance, or recipient

Using * means something different when used to specify class, instance or recipient:


Dealing with harassing Zephyr messages

If someone is using Zephyr to harass you, send e-mail to stopit@mit.edu. If you believe you are in danger, call the Campus Police immediately at x3-1212.



Zephyr procedures

This section covers the basics of using Zephyr:


Starting up Zephyr

There are several programs that you use for carrying out Zephyr tasks:


Sending messages (zwrite)

Sending a message to a specific user

Use the zwrite program to send a message to another user. To do this,

  1. Enter:
      athena% zwrite username
    
    where username is the username of the person to whom the message is to be sent.

    Result: If the user is logged in, the following message appears:

      Type your message now.  End with control-D or a dot on a line by itself.
    
    If the user is not currently logged in, the following message appears:
      username:  Not logged in or not subscribing to messages
    

  2. Enter your message. Messages can be of any length. If it's longer than one line, be sure to press Return at the end of each line.

  3. When you've finished the message, press C-d, or press Return, enter a period on the next line, then press Return.

    Result:Zephyr will say:

      Message queued for username... 
    
    When the message is successfully sent, the word sent will appear at the end of this.

Here is an example of a message being successfully sent:

  athena% zwrite joeuser
  Type your message now.  End with control-D or a dot on a line by itself.
  Hi, Joe!
.
Message queued for joeuser... sent

Here is an example of a message that can't be sent because the user isn't logged in.

  athena% zwrite joeuser
  username:  Not logged in or not subscribing to messages
To send the same message to a number of different users, just include their usernames, separated by spaces, on the zwrite command line. For example:
  athena% zwrite  abbott costello

Broadcasting a Zephyr message to subscribers

You can send messages to groups of users who are subscribing to classes and/or instances. To send a message to a specific class, use the -c option. To send a message to a specific instance, use the -i option with zwrite. The syntax is:
  athena% zwrite [-c class] [-i instance] [user]

The following example sends your message to everyone who is subscribing to white-magic instance:

  athena%  zwrite  -i  white-magic

Since a class isn't specified, the default is used which is "message" and since an instance isn't specified, the default "personal" is used.

There are many other options available with zwrite. See the man page for more information.

Formatting text in Zephyr messages

Zephyr lets you include formatting commands in the text of your messages to control how the text will appear on the recipient's screen. (The recipient can override these formatting commands; see Customizing Zephyr.)

A formatting command can be embedded anywhere in your text. Formatting commands use the following syntax:

  text @command(formatted text) text
Where command is the name of a Zephyr formatting command and formatted text is the text to be formatted. You can use delimiters other than parentheses to enclose the text to be formatted, including (), {}, [], and <>.

These following formatting commands can be used:

Command Action
@roman nullify @italic and @bold
@b or @bold boldface
@i or @italic italics
@l or @left left aligned
@c or @center center aligned
@r or @right right aligned
@small small type size
@medium medium type size (default)
@large large type size
@huge larger than large type size
@(@color(colorname) text) use a color for specified text
@(@font(fontname) text) use a font for specified text

Use the following commands set characteristics that relate to the entire Zephyr message.

Command and syntax Purpose
@beep() Ring the X bell once. NOTE: Use this feature sparingly -- it can be annoying to recipients if it's used too much.
@font(fontname) Set the current font e.g., courier, times, or helvetica. (Use "xlsfonts | more" to list other possibilities.)
@color(colorname) Set the color. For a list of possibilities, enter the following:
  athena% showrgb | more 

A NOTE ABOUT COLORS AND FONTS: Sending Zephyr messages formatted with very large fonts and/or mutliple colors can be annoying. Use font size and color judiciously to ensure that you won't offend your readers.


Locating other users (zlocate and znol)

Locating a Specific User

Zephyr lets you locate other users if they are logged on and using Zephyr. To do this, enter:

  athena% zlocate username
If that user is logged in and is not "hidden", (see Setting Zephyr Exposure for information) a message is displayed indicating the machine name in which the user is logged in, and the date. For example, if you were trying to locate user costello, a message like this one would be displayed:
  athena% zlocate costello
  W20-575-20.MIT.EDU         unix:0  Tue Oct 14 15:26:43 1997
If the user you're trying to locate is either not logged in or has set his/her exposure level to hidden, a message to that effect is displayed. Here is an example of locating costello when he is not logged in:
  athena%  zlocate costello
  Hidden or not logged-in

Locating several users at once

There are two ways you can locate several users at once:

Using the zlocate command

If you want to locate multiple users, enter each username, followed by a space. For example:

  athena%  zlocate  abbott  costello

  abbott@ATHENA.MIT.EDU:
  Hidden or not logged-in

        costello@ATHENA.MIT.EDU:
sidney.mit.edu                             :0.0    Wed Aug 12 11:28:25 1998       

Using the znol command

The command znol accomplishes two tasks. When first run, the znol command will go through a list of usernames you've created and locate anyone who is logged in and not hidden. Throughout your login session, you'll be notified, via Zephyr messages, when users in this same list log in or out, as long as they're not hidden. To use znol:

  1. Create a text file called ~/.anyone, and enter a list of usernames, each on a separate line. For example:
      abbott
      costello
      hardy
      laurel
    
  2. Then type:

      athena% znol
    
    Result: For each person in your ~/.anyone file, znol lists where and when each person is logged in. For example:
      abbott: M14S-010-1.MIT.EDU     unix:0  Tue Oct 14 16:05:24 1997
      costello: W20-575-20.MIT.EDU   unix:0  Tue Oct 14 15:26:43 1997
      laurel: M11-113-14.MIT.EDU     unix:0  Tue Oct 14 12:35:29 1997
    

As znol tries to locate each user, it subscribes you to the login messages from that user. See Setting Zephyr Exposure and Subscribing to Zephyr Messages for more information.

You can also create text files of usernames and name them something other than ~/.anyone. You then use the -f option with the znol command to specify the filename:

  athena% znol -f filename

Where filename is the name of the file you want to use.

If you decide you do not want to receive a message every time a person logs in or out, you can disable znol for the rest of your session by entering:

  athena% znol off

For information on other options to znol, type man znol at the athena% prompt.


Subscribing to Zephyr Messages (zctl)

Subscriptions are handled through the zctl program, which is short for Zephyr control. You use zctl to subscribe to classes and instances and to save the subscriptions in a file (by default the file ~/.zephyr.subs).

To use zctl, you can either enter the zctl command and options on one line at the athena% prompt, or you can enter zctl and press Return and enter the zctl options at the zctl prompt. Enter ? at the zctl prompt to get a list of zctl options.


Adding subscriptions

There are two ways that you can subscribe:

Adding subscriptions for the duration of your login

Use the sub option to add subscriptions that are in effect until you log out. To do this, enter

  athena% zctl sub [class] [instance] [recipient]

For example, if you want to subscribe to <message help *>, enter

  athena% zctl sub message help \*
NOTE: You include the backslash before the asterisk when you issue this command so that the asterisk will be sent to zctl without being interpreted by the Athena command shell first. If you enter the sub command directly at the zctl prompt, or directly into your ~/.zephyr.vars file, you should not include the backslash). For more information about the backslash and other special characters, see the csh man page by entering:
  athena%  man csh

There are some classes to which you are automatically subscribed. They are:

If you use the attach command, it will automatically subscribe you to <filsrv lockername *>

If you use the znol command (discussed later in this document), you are automatically subscribed to <login username *>

Adding subscriptions permanently until you remove them

The add option adds a new subscription to a subscriptions file called ~/.zephyr.subs so that you will be subscribed every time you log in. To do this, enter:

  athena%  zctl add [class] [instance] [recipient]


Removing subscriptions

To remove a subscription for the duration of your login session, enter:

  athena% zctl unsub [class] [instance] [recipient]

To remove a subscription from your subscriptions file,

  athena% zctl del [class] [instance] [recipient]


Some Zephyr subscriptions

This section lists some of the interesting subscriptions to which you may subscribe.

Subscription Synopsis
<Login username@mit.edu your-username> Login and logout notices
<Filsrv machinename your-username> Shutdown messages
<Filsrv machinename:hesiodname your-username> Filesystem messages. Example: Filsrv machinename: menelaus jdoe
<Discuss machinename:path your-username> Discuss transaction notices
<mail pop your-username> New mail notification
<Operations message> Operations messages

The easiest way to find out interesting instances is to subscribe to <class * *> which subscribes you to every non-personal message which comes across the network (Note that you cannot subscribe to class *.):

  athena% zctl sub message  \*  \*

Subscribing to "star star" (i.e., <class * *>) can get noisy and distracting when you're working and lots of windowgrams appear on your screen, but you will be able to decide which instances are worth your attention. You can learn of others (that may not necessarily appear while you are logged in) through word of mouth.

Here is a partial list of instances belonging to class message. Note that none of these instances are officially sanctioned.

INSTANCE SYNOPSIS
personal User to user messages.
urgent Urgent user messages.
proverb Proverb every hour.
weather Weather report on the half hour.
xconq Messages concerning the xconq game, especially finding opponents.
boggle Automatic message when someone starts playing mboggle.
hunt Automatic message when someone starts playing hunt.
consult Consultant messages for consultant communication.

NOTE: Don't ask questions over instance consult - use olc. Consultant use of this instance is subject to change.

help Informal questions other users can answer.
sipb Questions, answers, and discussions involving SIPB (Student Information Processing Board) members.
watchmaker Technical discussions about Athena. Watchmakers are student programmers employed by Athena system development.
white-magic Random discussions, hard to define. Listen in if you're not too busy. A voluminous instance.

Some living groups have an instance, for example, fenway (Fenway House), chiphi (Chi Phi), nh2 (New House II), Desmond (New House V), tdchi (Theta Delta Chi), and nud (Nu Delta).

Some courses may also have an instance, especially if the course uses Athena. For example, 1.00 and 6.170. This is a good way to discuss assignments, quizzes, etc.


Setting Zephyr exposure (zctl)

Zephyr lets you control whether or not people can zlocate you. To set an exposure level you use the set exposure option:

  zctl set exposure exposure-level

Where exposure-level can be one of the following (listed from widest exposure to narrowest exposure):

Exposure Level Result
net-announced Anyone can locate you and receive login messages about you.
net-visible Anyone can locate you. Only users within the same Kerberos realm (@mit.edu) ** can receive login notices about you.
realm-announced Anyone within the same Kerberos realm ** can locate you or receive login messages about you.
realm-visible (default) Anyone within the same Kerberos realm ** can locate you. No login or logout messages will be sent.
opstaff Only Athena operations staff can locate you, and no login messages will be sent.
none You are not registered with Zephyr at all: No one can locate you, no login messages about you will be sent, no subscriptions will be enabled, nor will any messages be displayed.

*  For exposure levels other than "none", default Zephyr
    subscriptions and any additional personal subscriptions are
    also enabled.
** The Kerberos realm for Athena users is @mit.edu.  Type man
    kerberos for more information about Kerberos realm.

You have the option of hiding during your login session, but still receiving Zephyr messages, the equivalent of exposure level "opstaff". To do this type:

  athena% zctl hide

To set exposure back to your default, type:

  athena% zctl unhide

Sending automatic messages (zaway and zleave)

There are two kinds of Zephyr messages you might want to send automatically:

Sending automatic replies to others (zaway)

To send an automatic reply to users who send you a message, use the zaway command. By default, the zaway command will use the text in a file named ~/.away that you create and send it to other Zephyr users that send you messages. To use zaway

  1. Create a text file called ~/.away and enter the text that you'd like to send as a response to incoming messages.

  2. To begin sending automatic replies, enter:
      athena% zaway
    

You can also create a file named something other than ~/.away and use it in the following way:

  athena% zaway filename

If you run zaway, no ~/.away file exists, and no other file is specified, the following message is sent in response to incoming Zephyr messages:

  I'm sorry, but I'm away from my computer and am not able to receive your message.

The ~/.away file also allows you to specify different messages for different users. The general format of this file is:

  >username
  message
  >username
  >username
  message

In addition, there are two options that add to the ability to specify users:

If a user name does not match any of those listed in the file, and no "*" or "%" field is specified, no return message is sent. All messages are preceded by the automated reply:

Here is an example of a ~/.away file:

  >abbott
  >costello
  Who's on first, what's on second, and
  >%
  I'm sorry, I'm not able to respond right now,
  >*
  I'll be back in a few minutes.

abbott and costello will get "Who's on first, what's on second, and." Everyone other than abbott and costello who send you messages will get "I'm sorry, I'm not able to respond right now,". Everyone, i.e., abbott, costello and everyone else who sends you messages will get "I'll be back."

As mentioned earlier, you can specify a file other than ~/.away by entering:

  zaway filename

To exit zaway, press Ctrl-C.

For more information about zaway, see the man page by entering:

  athena% man zaway

Sending automatic messages to yourself (zleave)

The zleave command sets an "alarm." You supply the time you want to leave, then Zephyr sends you reminders 5 minutes before, 1 minute before, at the actual time, and every minute for ten minutes thereafter (or until you log out or cancel zleave).

You can set the time as a specific time, within the next 12 hours, or a relative time, e.g., 20 minutes from the current time, using the format hhmm.

To set a specific time:

  athena% zleave 1145
  Alarm set for Mon Aug 13 11:45:50 1999
To set a relative time:
  athena% zleave +0005
  Alarm set for Mon Aug 13 11:33:20 1999

The default messages are:

Message When Sent
You have to leave in 5 minutes 5 minutes before specified time
Just one more minute! 1 minute before
Time to leave! Specified time
You're going to be late! Each minute following

If you want to add more text to the default message, use the -m option. For example:

  athena% zleave +0020 -m "Are you done yet?"
Result: The following is displayed:
  Just one more minute!
  Are you done yet?
If you want to add a beep sound, use the @beep() option:
  athena% zleave +0200 -m "@beep()"
To cancel the zleave messages, enter:
  athena% zleave cancel

NOTE: You can also abbreviate cancel to just can. Also, when you start zleave, you are subscribed to <message zleave your-username> but canceling zleave does not unsubscribe you.

For more information about zleave, see the man page by entering:

  athena% man zleave


Getting notification of incoming e-mail

To recieve a zephyr message upon the arrival of a new mail message, all you need to do is to subscribe to the mail notification class. You only need to do this once by entering the command below.
  athena% zctl add mail \* %me%

Using Zephyr over dialup

When you log in without using the Xwindows system (such as using a terminal style session, dialing in, or using Telnet), you need to run Zephyr in "tty" mode. This means that incoming messages will appear as regular text on your screen.

There are two ways you can run Zephyr in tty mode:

To set Zephyr to start in tty mode each time you log in

Entering the following:

  athena% zctl set fallback true

To set Zephyr to run in tty mode when you need it

  • To start the zwgc program in tty mode, enter:
      athena% zwgc -ttymode
    

    NOTE: If you have fallback set in your dotfiles, you need to kill the zwgc program that's started up when you log in, then restart Zephyr in tty mode:

      athena% add consult; punt zwgc
    
    If you don't want the messages appearing, but you want to read them at your leisure, see Saving Zephyr messages.


    Saving Zephyr messages

    Saving the text of a Zephyr message

    You can save information from a Zephyr windowgram by using cut and paste. This text can be pasted into another non-windowgram window, such as an Xterm or an Emacs window. Use the following mouse techniques to highlight text and put it in the X buffer.

    Mouse technique Purpose
    Shift-Left click Mark one end of the region to be copied
    Shift-Right click Mark other end of the region to be copied and highlighted
    Shift-Left click and drag over text "Dragged" text is highlighted and copied
    Shift-Right click and drag over text Extends highlighted text

    Then press C-y to paste the text into an Emacs window or click the middle mouse button to paste into an Xterm window.

    NOTE: There is no way to cut-and-paste "special effects" such as boldface, italics, or large print. This special text will get pasted as normal text.

    Saving all incoming messages to a file

    You can save Zephyr messages you receive to the file. This way, if you lose a message, you can look at the file to see what you missed. To do this,

      tail  -f  /tmp/filename  &
    

    If you want to receive and read Zephyr messages, but not have them display on the screen, you can save them to a file. To do this, enter:

      athena% zwgc  -ttymode  >  /directory-name/filename
    

    This will save incoming Zephyr messages in a file in a directory and file that you specify. You may want to create this file in the /tmp directory, so that it doesn't count against your quota; but note that files in the /tmp directory will be deleted when the workstation deactivates.

    If you want to save messages to a file automatically when you log in, you need to do the following to prevent Zephyr from automatically starting up and displaying messages in windowgrams:

      athena% zctl set fallback false
    

    Then put the following line into your ~/.startup.tty file:

      zwgc  -ttymode  >  /directory-name/filename
    


    Customizing Zephyr

    The first topic covered in this section describes how to make changes to the .zwgc.desc and .Xresources files since customizing Zephyr often requires modifying one of these files.

    The subsequent topics cover the following ways to customize Zephyr:


    Making and incorporating changes to the .zwgc.desc and .Xresources files

    Customizing Zephyr most often involves making changes to one or two files: ~/.Xresources and ~/.zwgc.desc. These are simply text files that you can edit using Emacs or any other text editor.

    You can control many aspects of the windowgrams you receive (e.g., placement on your screen, use of fonts, etc.) by using the file ~/.zwgc.desc. The language is fully described in the manual page for zwgc (type man zwgc at the athena% prompt). The default ~/.zwgc.desc file is found in /usr/athena/share/zephyr/zwgc.desc. An easy way to begin working with the ~/.zwgc.desc is to copy this file to your home directory (~/.zwgc.desc), then you can make changes and experiment. There is also a directory in the Zephyr locker (/mit/zephyr/examples) that contains code fragments for ~/.zwgc.desc files. You can look here for ideas.

    Many customizations for Zephyr windowgrams involve the ~/.Xresources file, which is used by the X window system. For detailed information on the ~/.Xresources file and X manipulation, read the X man pages:

      athena% man X
    

    To see the effect resulting from the changes you make to these files, you either have to log out and log in again or you can incorporate the changes immediately by re-loading the .Xresources or .zwgc.desc files, then killing and restarting the zwgc program.

    To incorporate changes to ~/.zwgc.desc, enter the following:

      athena%  zctl wg_read
    

    To incorporate changes to ~/.Xresources, enter the following:

      athena%  xrdb -load ~/.Xresources
    

    Killing and restarting the zwgc program.

    To kill the zwgc program, enter:

      athena% add consult; punt zwgc
    

    To start the zwgc program, enter:

      athena% zwgc
    

    Setting your Zephyr signature

    When you send a Zephyr message to someone, your signature appears in the message. If you do not explicitly set it to something else, it will be your name as it appears in your finger information.

    There are two ways to change your signature:

    To change your signature permanently, enter:

      athena% zctl set zwrite-signature "new-signature"
    

    where new-signature is the signature you want to use.

    To change your signature for a specific Zephyr message, enter:

      athena% zwrite your-username -s "new-signature"
    

    where new-signature is the signature you want to use.

    Using the -s option will override the signature if previously set in either your finger information or your zwrite-signature variable.

    If you don't want any signature, you can set an empty signature by entering:

      athena% zwrite your-username -s ""
    


    Changing the default font for Zephyr messages

    If you want to change the default font that is used when displaying Zephyr messages, you need to include the following line in your ~/.Xresources file:

      zwgc*style*substyle.default.fontfamily:         font-name
    

    where font-name is the name of the font that you want to use.

    You can use one of the predefined fonts: times, helvetica, or courier (which is the Athena default) or, if you have defined your own font families in your ~/.Xresources file, you can use one of those names.

    Whenever you change your ~/.Xresources file, you must either wait until the next login to incorporate the changes, or rerun your .Xresources file, then kill and restart the zwgc program.


    Filtering out unwanted Zephyr messages

    You can selectively filter the display of Zephyr messages that you receive by using the Filter feature. For example, if you subscribe to the message <message * *> and do not want to see messages from the <message white-magic *> instance, you can filter out <message white-magic *>. You still receive the <message white-magic *> messages but they are not displayed. You can also redisplay messages you had previously filtered out.

    You can filter messages in two ways:

    Filtering messages at the athena prompt

    To do this, enter

      athena% add sipb
      athena% zpunt instance
    

    where instance is the name of the instance that you want to punt. For example, if you wanted to filter class message, instance "annoy" notices, enter:

      athena% add sipb
      athena% zpunt annoy
    

    Filtering messages by adding a line to your ~/.zephyr.subs file

    To do this, add the following line to your ~/.zephyr.subs file for each message that you want to filter:

      -class instance recipient
    

    For example, to ignore class message, instance "annoy" notices, you would insert this line:

      -message annoy *
    

    An example of formatting incoming Zephyr messages

    Here is an example that uses variables and formatting commands to change the way a windowgram is displayed. Using a text editor, open the file called .zwgc.desc and change the line

      print substitute($default)
    
    to:

      print "New mail from @bold("+protect($1)+"), Subject: @italic("+protect($3)+")\n"
    

    This changes the mail notification from:

      (Authentication: UNAUTHENTIC)
      You have new mail:
      
      From: abbott@ATHENA.MIT.EDU
      To: costello@ATHENA.MIT.EDU
      Subject: Who's on first.
    
    to:

      (Authentication: UNAUTHENTIC)
      New mail from abbott@ATHENA.MIT.EDU, Subject: Who's on first.
    

    To see the changes immediately, you need to reload the zwgc.desc file and kill and restart the zwgc program.

    For more information on editing the zwgc.desc file, see the zwgc man page.


    Positioning Zephyr windowgrams on your screen

    To change where Zephyr notices appear on your screen you need to edit the ~/.Xresources file. You specify the x and y coordinates for a corner of the window by using either numbers or special characters (e.g., "c" for center) along with pluses or minuses to indicate a relative position.

    The syntax for a line that positions windowgrams is:

      zwgc.style.class.instance*geometry:		+c+c
    

    where class.instanceare the specific class and instance for which you want to position the windowgram.

    The following is an example of two lines that might be used in the .Xresources file:

      zwgc.style.message.urgent*geometry:		+c+c
      zwgc.style.message.personal*geometry:		-0-0
    

    These lines would position urgent messages in the center of your screen, personal messages in the lower right corner, and by default, the others would appear in the upper left corner.

    If you simply wanted all of your Zephyr notices to appear in the lower left, for example, you could add this line to your .zwgc.desc file:

      zwgc*geometry:		+0-0
    
    For more details on positioning windowgrams, refer to the ~/.Xresources section of Dotfiles on Athena.



    Troubleshooting Zephyr

    Authentic and UNAUTHENTIC Zephyr messages

    When you receive a message it is marked Authentic or UNAUTHENTIC. These labels indicate the result of the sender's or your own authentication.

    Zephyr uses the Kerberos authentication to verify its users. (For more information about Kerberos, type man kerberos from the athena% prompt.) If you and the sender pass authentication, then the message is marked with Authentic. If you or the sender failed authentication then the message is marked with UNAUTHENTIC. This does not necessarily mean that something bad is occurring. Any user can fail authentication if he or she loses his or her "Kerberos tickets" or his or her tickets expire (which they do after 10 hours). Any legitimate user can gain a new set of tickets and be automatically reauthenticated to the Zephyr server by running the renew program:

      athena% renew
      MIT Athena (w20-575-80)
      Kerberos Initialization for "abbott"
      Password:
    
    If you are receiving all of your windowgrams marked UNAUTHENTIC, it is probably because you changed or renewed your Kerberos tickets. If you had recently typed kinit (rather than using renew), then remember that you need to do zctl load as well. Zephyr will then receive the new tickets. (The renew form of renewing your Kerberos tickets automatically executes the zctl load command after executing kinit.)


    Hostmanager Not Responding

    Sometimes you may receive the following error messages when logging in:

      main.c: Hostmanager not responding Setting Location
      zctl (load): Hostmanager not responding: while subscribing
      /etc/athena/zinit: Hostmanager not responding while subscribing
    
    They may be mixed with other normal status messages. The common theme here is that your hostmanager is not running. To remedy the situation you will need to log in as a superuser then restart the hostmanager. If you are in a public cluster, you can log in as a superuser, however if you're using a private Athena workstaion, you'll need to contact the person who maintains the workstation.

    To restart your hostmanager program, do the following:

      athena% su                       log in as a superuser
      Password: drroot                 enter the password
      athena# /etc/athena/zhm &        start new host manager
      athena# exit                     exit from the root shell
      athena% zctl load                reload subscriptions
    

    Duplicate windowgrams

    If you find that you are receiving two of every Zephyr message, you most likely have two zwgc programs running. You need to find out how many are running and if there is more than one, kill one of them.

    1. To get a list of zwgc programs that you have running, enter
        athena%  ps -elf | grep zwgc
      

      Result: You'll get a list of zwgc jobs that running.

      For example, you will see something like this:

        costello 26543  0.0  0.2   40   28 p1 S     0:00 grep zwgc
        costello 26266  2.5  3.9  337  244 p1 S     0:00 zwgc
        costello 25855  1.8  5.2  385  325 v0 S     0:38 zwgc
      

      To get rid of one of them, enter the following:

        athena% kill job-number
      

      where job-number is one of the 5-digit numbers for one of the jobs called "zwgc." In the above example, the number would be "26266". Make sure you don't use the job number for "grep zwgc."

      Result: One of the zwgc programs is killed.

    To avoid receiving multiple copies of Zephyr messages, make sure you are not starting zwgc in any of your "dotfiles" like ~/.startup.X. The Athena system files automatically start zwgc for you when you log in. Also, if you are experimenting with Zephyr customization, you don't need to start a new zwgc every time you want to incorporate your new changes. To incorporate changes to your .zwgc.desc without waiting for the next login, just type:

      athena% zctl wg_read
    
    To incorporate changes to ~/.Xresources without waiting for the next login, you need to type the following line, then kill and restart zwgc:

      athena% xrdb -load ~/.Xresources
    



    Other sources of information about Zephyr

    OLC Answers

    The Athena Consultants maintain a set of answers to commonly asked questions about the Athena system, including a subset of "Zephyr Answers".


    Man pages

    There are Unix Manual pages available on all of the Zephyr commands. To see any of them, enter the following:

      athena% man topic-name
    
    where topic-name is one of the following:

    For more technical information, type:

      athena% man topic-name
    

    where topic-name is one of the following:


    Discuss meeting

    There is a Discuss meeting called Zephyr_Comments (zcmts for short) for discussions about Zephyr. To add this to your list of Discuss meetings, start up Discuss and enter the following:

      discuss: am  menelaus:/usr/spool/discuss/zcmts
    

    (See the document Discuss on Athena for information about using Discuss.)


    MIT Information Systems Comments and feedback to olh-suggest@mit.edu