Zephyr on Athena (AC-34)About this document:
Your most common interaction with Zephyr will be with the Zephyr message windows (called "windowgrams") that will occasionally appear on your screen. You can get rid of a windowgram by clicking on it with any mouse button. Electronic communication with Zephyr is only possible when both sender and recipient have activated Zephyr on their workstations and are logged in simultaneously. The primary advantage of using Zephyr over electronic mail is that it is much faster and messages are more immediately noticeable to the recipient.
With several hundred workstations scattered across the MIT campus, Zephyr is the way to find someone or send a quick message to a person or a group of people. Its ability to centralize information and distribute it quickly makes it useful for tasks like user login detection, wide distribution of time-critical information, and sending easily disposable (or filterable) messages instantaneously.
This document describes the following aspects of Zephyr:
zwrite usernameWhere username is the username of the person to whom the message is to be sent. If that person is not currently logged in, zwrite responds:
username: Not logged in or not subscribing to messagesOtherwise zwrite responds:
Type your message now. End with control-D or a dot on a line by itself.Now type in your message, ending it by pressing Return then entering Ctrl-d or a period on a separate line. Be sure to hit the Return key at the end of each line: zwrite does not wrap long lines, so they could extend past the edge of the recipient's screen. There is no limit to the length of the messages you can send with zwrite, although messages are difficult to scroll through so you will want to create a message that will fit on one screen. Sometimes it takes a few seconds after you hit Ctrl-d or a period before Zephyr actually finishes sending the message. When the message is successfully sent, Zephyr returns the following confirmation:
username: Message sentIf you want to zwrite the same message to a number of different users, just include their usernames, separated by spaces, on the zwrite command line:
athena% zwrite abbott costello
To send a message to a specific instance, use the -i option with zwrite. For example, the following command sends your message to everyone who is subscribing to white-magic messages:
athena% zwrite -i white-magicYou don't need to know specifically who is logged in (in fact, there's no way to tell who will be able to read it). There is no way to have a private instance, like a private mailing list, such that you can control who can read the messages.
Zephyr notices are also divided into classes. This is a more basic division than instances. You will rarely send messages to a class other than message (the default), but if you do, use the -c option to zwrite:
zwrite -c classnameAs with class message, if you do not specify an instance when you specify a class, zwrite will default to instance personal. You can use -c and -i together on the zwrite command line.
There are many other options available with zwrite. See the man page for more information.
A formatting command can be embedded anywhere in your text, and must be of the form:
@command(text)Here command is the name of a Zephyr formatting command and text is the text to be formatted. You can use other pairs of delimiters than parenthesis to enclose the text to be formatted, including (), {}, [], and <>.
These following formatting commands are recognized by Zephyr:
-------------------------------------------- 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 --------------------------------------------The following commands do not take text (to be formatted) as their arguments. The @beep command takes nothing (but still needs the delimiters), @font and @color take the relevant specifications.
---------------------------------------------------------------
@beep() ring the X bell once
@font(fontname) set the current font (e.g., courier, times,
or helvetica; use "xlsfonts | more" to list
other possibilities)
@color(colorname) set the color (see /usr/lib/rgb.txt for
a list of possibilities)
---------------------------------------------------------------
Don't confuse the Zephyr formatting commands with commands you are used to from
text-formatting programs such as Scribe (for example, @begin(center) and
@end(center) do not work).For example, try something like:
athena% zwrite abbott Type your message now. End with control-D or a dot on a line by itself. I'm asking @i[@b<you>] who's on first! . abbott: Message sent athena% zwrite costello Type your message now. End with control-D or a dot on a line by itself. @large[That's the man's name.] . costello: Message sent
zlocate usernameIf that user is logged in and is not "hidden", zlocate responds by telling you where and when the user is logged in. For example:
athena% zlocate costello W20-575-20.MIT.EDU unix:0 Tue Oct 19 15:26:43 1993It is possible to be logged in and be hidden. If the user you want to zlocate is either not logged in or not "exposed" to Zephyr, zlocate returns:
Hidden or not logged-inTo learn how to hide from Zephyr, see Setting Zephyr Exposure.
athena% zlocate abbott costelloThe command znol provides two services. When first run, the znol command will go through a list of usernames and zlocate each one. Thereafter it will notify you by windowgram when people in this same list log in or out. This name list is usually in a file ~/.anyone in your home directory. To execute znol, create a file called ~/.anyone, and enter a list of usernames, each on a separate line, such as:
abbott costello hardy laurelThen type:
athena% znolFor 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 19 16:05:24 1993 costello: W20-575-20.MIT.EDU unix:0 Tue Oct 19 15:26:43 1993 laurel: M11-113-14.MIT.EDU unix:0 Tue Oct 19 12:35:29 1993As znol tries to locate each user, it subscribes you to the login messages from that user. So, if that user is announcing his or her logins, you will get windowgrams as that user logs in and logs out. See Setting Zephyr Exposure and Subscribing to Zephyr Messages for more information.
You can specify a file other than ~/.anyone by using the -f option with znol:
znol -f filenameIf you decide you do not want to receive a windowgram every time a person logs in or out, you can disable znol for the rest of your session:
athena% znol offFor information on other options to znol, type man znol at your athena% prompt.
Class message instance personal recipient abbott@MIT.EDUindicating that user abbott is subscribed to personal messages addressed to him.
Subscriptions are handled through the zctl program, which is short for Zephyr control. You use zctl to subscribe to different notice types and then to save the subscriptions in a file (by default the file ~/.zephyr.subs). Every Athena user is automatically subscribed to two subscriptions:
Class message instance personal recipient username@MIT.EDU Class operations instance message recipient *If you only have one or two simple changes to make to your subscriptions, you can use command line options on the initial zctl line without actually entering the zctl program. For instance, if you want to subscribe to messages that are class message and instance urgent and are addressed to you, use the sub option or add option. The sub option subscribes you temporarily (for the duration of your login):
athena% zctl sub message urgentThe above command leaves off a final recipient field, taking advantage that an absent field defaults your username. In contrast, if you wanted to subscribe to messages that are class message and instance help and are addressed to a whole range of users (the help instance is aimed at a large audience, not just individual users), you need to include the final recipient field, as the wildcard character (*), indicating any user:
athena% zctl sub message help \*(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 to a zctl: prompt, or directly into your ~/.zephyr.vars file, you should not include the backslash).
The add option adds a new subscription to your ~/.zephyr.subs file so that you will be subscribed whenever you log in:
athena% zctl add message urgentTo enter the zctl program to add a number of subscriptions to your ~/.zephyr.subs file, type the command with no options:
athena% zctl ZCTL $Revision: 1.21 $ (Protocol ZEPH0.2) - Type '?' for a list of commands. zctl:You are now ready to execute zctl commands. To list your current subscriptions, use the retrieve command while in zctl. (Note that it will probably return several subscriptions besides the two defaults. When you attach filesystems, you become subscribed to operations messages concerning the filesystem.)
The zctl command ? or lr will now list all the available commands with a brief summary of each.
Classes. The message class is the most frequently used; in fact, zwrite defaults to class message if you do not specify a class. The common classes are shown in this table:
---------------------------------------------------------------- CLASS INSTANCE SYNOPSIS ---------------------------------------------------------------- Message (See list below) Default class Login username@mit.edu Login and logout notices Filsrv machinename Shutdown messages Filsrv machinename:hesiodname Filesystem messages Discuss machinename:path Discuss transaction notices Mail pop and popret New mail notification Operations message Operations messages ----------------------------------------------------------------Zephyr users are automatically subscribed to Operations class notices, appropriate filsrv class notices (according to machines that serve the workstation and the appropriate filesystems), and class message, instance personal messages. Running znol (See Finding Other Users) will automatically subscribe (for the login session) to class login messages for each specified user.
Instances. Every Zephyr user is automatically subscribed to personal instance messages, which is the default message from one user to another. The different instances are not registered anywhere, so creating a new instance is as simple as telling users to subscribe to that instance (recipient "*"), then sending messages to that instance. This means that it is impossible to compile a complete list of instances.
The easiest way to find out interesting instances is to subscribe to class message, instance *, recipient *, 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" (as it's colloquially known) 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 Hourly weather report (on the half hour).
xconq Messages concerning xconq, especially finding
opponents.
boggle Automatic message when someone starts playing
mboggle.
hunt Automatic message when someone starts playing hunt.
Both boggle and hunt can also be used to find
opponents.
consult Consultant messages for consultant communication;
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.
apo Discussions involving Alpha Phi Omega members.
white-magic Random discussions, hard to define. Listen in if
you're not too busy. A voluminous instance.
Read /mit/belville/WM.NOM.
e40-lnf Discussion about Late Night Food, from prices to
invitations.
-----------------------------------------------------------------
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.
zctl set exposure exposure-levelThe exposure-level can be one of the following (listed from widest exposure to least exposure):
----------------------------------------------------------------
Exposure Level Result *
----------------------------------------------------------------
net-announced Anyone can locate you and receive login
notices 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 notices about you.
realm-visible (default) Anyone within the same Kerberos
realm ** can locate you. No login or logout
announcements will be sent.
opstaff Only Athena operations staff can locate you,
and no login notices will be sent.
none You are not registered with Zephyr at all:
No one can locate you, no login notices about
you will be sent, no subscriptions will be
enabled, nor will any notices 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 notices, the equivalent of exposure level "opstaff". To do this
type:
athena% zctl hideTo become visible again (set the exposure back to normal), type:
athena% zctl unhide
athena% zawaywith no &. This is typically run when you leave your workstation temporarily. The zaway program uses a message file (default is ~/.away) to specify messages for users.
If you run zaway and no ~/.away file exists, and no other file is specified, the following message is returned:
I'm sorry, but I am currently away from the terminal and am not able to receive your message.The ~/.away file allows you to specify different messages for different users. The general format of this file is:
>username message >username >username messageThere are two special names:
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.The last line will be appended to all the above messages. Abbott and Costello will get the who's on first line, and everyone else will get the I'm sorry line. Everyone will get the last line, I'll be back.
You can specify a file other than ~/.away by typing:
zaway filenameTo exit from zaway, use Ctrl-C. Note that you can only have one zaway running on a workstation.
You can set the time as a specific time (within the next 12 hours) using the format hhmm:
athena% zleave 1145 Alarm set for Mon Oct 18 11:45:50 1993or as a relative time (as in +20 minutes from the current time):
athena% zleave +0005 Alarm set for Mon Oct 18 11:33:20 1993The 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 to the message, use the -m option to zleave:
athena% zleave +0020 -m "Are you done yet?"Your message will append to the default message, as in:
Just one more minute! Are you done yet?You might simply want to add a beep:
athena% zleave +0200 -m "@beep()"To cancel the zleave messages, type:
athena% zleave cancelor
athena% zleave canThe Zephyr messages are sent over instance leave (recipient your username). When you start zleave, you are subscribed to this instance, but cancelling zleave does not unsubscribe you. This should not be a major concern, as you only receive messages specific to you.
athena% zctl add mail popto your prompt. After doing this, you will get a simple notice every time you are logged in and more mail arrives for you at your post office.
If you wish to be notified of the sender, recipient and subject of the new mail, you must also remove the "#" signs from the ten lines from match MAIL to exit, in your ~/.zwgc.desc file, and subscribe to class MAIL, instance POPRET messages:
athena% zctl add mail popretIf you don't have a ~/.zwgc.desc file, you can get one with the command:
athena% cp /usr/athena/lib/zephyr/zwgc.desc ~/.zwgc.descThis will destroy any ~/.zwgc.desc file you have, so only do this if you don't have one.
Note: Uncommenting those lines and subscribing to class mail instance popret is not necessary to receive notifications of new mail. The only effect of uncommenting these lines is to display on your screen the sender, recipient, and subject of the mail, rather than just a message informing you of new mail. In addition, uncommenting these lines will add extra load to the post office servers, making them run slower.
See Customizing Zephyr for more information.
To start Zephyr in tty mode whenever you are logged in via dialup, you need to type this line once:
athena% zctl set fallback trueYou can also start zwgc in tty mode. Be sure to kill a previous zwgc. Follow this procedure to find and kill other zwgc's, then start up the new one (on Sun workstations, use ps -elf rather than ps aux in the first command):
athena% ps ux | grep zwgc abbott 24803 0.0 0.2 40 28 p1 S 0:00 grep zwgc abbott 24722 0.0 4.5 369 280 v0 I 0:06 /usr/etc/zwgc athena% kill 24722 athena% zwgc -ttymodeThis will do the same thing as above, displaying your messages as regular text on the screen. NOTE: Never start zwgc with an &, or the program will not exit correctly when you log out.
If you don't want the messages appearing, but you want to read them at your leisure, see Saving Zephyr Notices to a File.
Shift-Click LEFT button Mark one end of the region to be
copied
Shift-Click RIGHT button Mark other end of the region to be
copied and highlight
Shift-Drag LEFT button "Dragged" text will highlight
Shift-Drag RIGHT button Extend already highlighted text
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.
If you want to choose when you save the messages to a file, rather than automatically doing it every time, you can run a command of the following form from the athena% prompt:
zwgc -ttymode > /tmp/filenameThis will save incoming Zephyr messages in a file in the /tmp directory called filename. (It is a good idea 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.)
To see the new messages as they are written to the file, run:
tail -f /tmp/filename &If you lose a message, you can look at the file to see what you missed. If you don't run tail, you can just read the file whenever you want, as long as it is within that login session. You can copy that file to your directory if you want to save them for a longer period.
If you want to save messages to a file automatically when you log in via dialup, you need to do the following to prevent an automatic zwgc starting:
athena% zctl set fallback falseThen put the following line into your ~/.startup.tty file:
zwgc -ttymode > /tmp/filename
Many customizations for Zephyr windowgrams involve the ~/.Xresources file, which is referred to by the X window system. This section refers to the ~/.Xresources file, but does not cover it in detail. For more information on X manipulation, type the following command:
athena% man XYou can control many aspects of the windowgrams you receive (e.g., placement on your screen, use of fonts, etc.) by using the description 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/lib/zephyr/zwgc.desc. The best way to learn the new language is to copy this file to your home directory (~/.zwgc.desc), then you can make changes and experiment.
After making changes to your ~/.zwgc.desc file, you can incorporate them into your current Zephyr session by typing the following at your athena% prompt:
zctl wg_readOtherwise the changes will take place next time you log in.
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. If you come up with a useful example of how to massage the ~/.zwgc.desc file, send it via electronic mail (with descriptive comments such as those found in the current examples) to zephyr-comments@mit.edu.
This section covers the following topics, including examples for the ~/.zwgc.desc file and the ~/.Xresources file, as well as other customizing abilities:
There are two ways to set this signature. You can set it permanently:
athena% zctl set zwrite-signature "Lou Costello"Or, you can set it for a specific Zephyr message:
athena% zwrite abbott -s "Lou Costello"This -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, set an empty signature:
athena% zwrite abbott -s ""
athena% zwrite abbott Type your message now. End with control-D or a dot on a line by itself. the next line will be in "times" font. @times(this line is in "times".) this line is back to the default font.You can also use any of the fonts available for X, using the @font command.
athena% zwrite costello Type your message now. End with control-D or a dot on a line by itself. @font(9x15) This is printed in the font named "9x15"You can bind the scope of a font change by adding a blank environment like so:
athena% zwrite costello Type your message now. End with control-D or a dot on a line by itself. @(@font<6x10> Text in 6x10 font) DefaultYou can get the list of X fonts by typing the following:
athena% xlsfonts | moreAnything that is not specified in a different font will use the default font, which is set to courier. You can change the default font for messages you receive (but not for messages you send). See Changing the Default Font in Zephyr for instructions.
Each also has 3 sizes associated with it: small, medium, and large. This allows you to put:
print "@large("+$sender+")"
in your ~/.zwgc.desc file, for example, to print the sender's name in a larger
font than normal. You can also send someone a zwrite message like
this:
hi, this message has @large(large words) in it and @small(small words) in it, as well as normal (medium) sized words...So, in order to "fully" define a font family for zwgc, you need to find twelve X fonts that will complete your font family (3 sizes times 4 faces), and insert their names into your ~/.Xresources file. (You can find font names by typing xlsfonts | more.) For example, the standard times font family is defined like as follows (in the file /usr/athena/lib/zephyr/zwgc_resources):
! The following is the adobe-times font family. Available sizes are ! 80, 100, 120, 140, 180, and 240. This family used to be times-roman. ! *fontfamily.times.small.roman: *adobe-times-medium-r-*-80-*-p-* *fontfamily.times.small.bold: *adobe-times-bold-r-*-80-*-p-* *fontfamily.times.small.italic: *adobe-times-medium-i-*-80-*-p-* *fontfamily.times.small.bolditalic: *adobe-times-bold-i-*-80-*-p-* *fontfamily.times.medium.roman: *adobe-times-medium-r-*-120-*-p-* *fontfamily.times.medium.bold: *adobe-times-bold-r-*-120-*-p-* *fontfamily.times.medium.italic: *adobe-times-medium-i-*-120-*-p-* *fontfamily.times.medium.bolditalic: *adobe-times-bold-i-*-120-*-p-* *fontfamily.times.large.roman: *adobe-times-medium-r-*-240-*-p-* *fontfamily.times.large.bold: *adobe-times-bold-r-*-240-*-p-* *fontfamily.times.large.italic: *adobe-times-medium-i-*-240-*-p-* *fontfamily.times.large.bolditalic: *adobe-times-bold-i-*-240-*-p-*You could define your own font family named foo by replacing times with foo in the twelve lines above (in the columns on the left). Assuming you have defined a font family (let's use the name foo as an example), you can then put:
print "@foo("+$sender+")"
in your ~/.zwgc.desc file, for example, to print the sender's name in your
newly defined foo font family.If you don't want to have to find twelve fontfaces that work together, you can do just this:
zwgc.fontfamily.blah.Size.Face: *adobe-times-bold-i-*-240-*-p-*and then put:
print "@blah("+$sender+")"
in ~/.zwgc.desc to print out the sender in the blah font you defined. The
problem with this, though, is that there is only one fontface and size defined,
you can't use the formatting commands like @b, @i, etc. on it.
Those commands would be ignored, and so something like:
@blah(@i(this) is @b(a) test)would come out in just the blah font, without the bolding and italics done to it.
After you have changed your ~/.Xresources file, you can wait until the next login for the changes to take effect. If you want to see the changes during this login session, you must reload the X Resource DataBase manager by typing:
athena% xrdb ~/.Xresourcesand then you'd have to kill and restart your zwgc.
Changes to the ~/.zwgc.desc file, on the other hand, can be read in as soon as you save out that file, by typing:
athena% zctl wg_read
zwgc*style*substyle.default.fontfamily: timesThis would use times as the default font. 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 reload the X Resource DataBase manager by typing:
xrdb ~/.Xresourcesand then kill and restart your zwgc (or just wait until next time you log in) in order to see the new fonts.
-class,instance,recipientFor example, to ignore class message, instance "annoy" notices, you would insert this line:
-message,annoy,*Note that although zwgc understands these "unsubscriptions", zctl does not. Therefore, if you do a zctl load or a zctl wg_read after adding them to your ~/.zephyr.subs file, they will not be filtered properly. You need to wait until the next login, or kill your zwgc and restart (on Sun workstations, use ps -elf rather than ps aux in the first command):
athena% ps aux | grep zwgc 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 athena% kill 26266 athena% zwgc
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.In Zephyr mail messages, variable 1 is the sender, variable 2 is the recipient, and variable 3 is the subject. The "\n" command puts a new line at the end of the message. The concepts of variables and commands are discussed in the zwgc man page.
A typical section of your ~/.Xresources file might read like this:
zwgc.style.message.urgent*geometry: +c+c zwgc.style.message.personal*geometry: -0-0These 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 use this line:
zwgc*geometry: +0-0
To incorporate changes to ~/.zwgc.desc, you only have to type the following line:
athena% zctl wg_readTo incorporate changes to ~/.Xresources, you need to type the following line to make the changes to X:
athena% xrdb ~/.Xresourcesand then kill your zwgc and start a new one to make the changes to Zephyr (on Sun workstations, use ps -elf rather than ps aux in the first command):
athena% ps aux | grep zwgc 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 athena% kill 26266 athena% zwgc
To make a long story short, it is possible for another user to fool your workstation and make it believe he or she is somebody else. For this reason Athena has developed a system called Kerberos. Kerberos is able to verify that you are who you say you are and not impersonating someone else. Zephyr uses the Kerberos system to authenticate its users. (For more information, 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.)
main.c: Hostmanager not responding Setting Location zctl (load): Hostmanager not responding: while subscribing /etc/athena/zinit: Hostmanager not responding while subscribingThey may be mixed with other normal status messages. The common theme here is that your hostmanager is not alive. To remedy the situation you will need root access on your workstation. There's no problem if you are in a public cluster. If not, then contact the person who maintains the workstation.
To restart your hostmanager program, you need to become "root" and start the program:
athena% su become superuser Password: mrroot enter the password athena# /etc/athena/zhm & start new host manager athena# exit exit from the root shell athena% zctl load reload subscriptions
athena% ps aux | grep zwgcYou 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 zwgcTo get rid of one of them, use the number in the second column, like so:
athena% kill 26266(You can type the ps aux | grep zwgc line again to see what you have left.)
To avoid receiving multiple copies of Zephyrgrams, 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_readTo 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
man topic-namewhere topic-name is one of the following:
zaway zephyr zmailnotify zwrite
zbrowser zleave znol
zctl zlocate zwgc
For more technical topics, type:
man 8 topic-namewhere topic-name is one of the following:
zephyrd zinit zshutdown_notify
zhm zpopnotify zstat