Search:

How to Install and Configure the Zephyr Utility

The Zephyr Utility will only run on Mac OS X 10.5 or Mac OS X 10.6.

The Zephyr Utility has only limited support. If you have questions or problems, send email to the macosx-admin@iastate.edu mailing list.

Table of Contents
About the Zephyr Utility
System Requirements
Known Bugs
Downloading the Zephyr Utility
Installing the Zephyr Utility
Using the Zephyr Utility
Files Used by the Zephyr Utility
Configuring the Zephyr Utility

About the Zephyr Utility

The Zephyr Utility is a GUI interface to the Zephyr Terminal commands. Zephyr is a real-time messaging and notification system. The Zephyr Utility (and the Zephyr Terminal commands) can be used by students, faculty, and staff for academic and personal communication with other Zephyr Utility users, as well as Zephyr users on Project Vincent, Windows and Linux.

The Zephyr Utility supports the Growl Notification system. The Zephyr Utility also supports X11 notifications and Terminal notifications.

System Requirements

The Zephyr Utility requires

  • Mac OS X 10.5 or Mac OS X 10.6

  • Kerberos 5 must be enabled and configured
    See How to Configure Kerberos

  • Xcode Tools must be installed

Known Bugs

Mac OS X 10.6

X11 support may not be working correctly.

Downloading the Zephyr Utility

Download the appropriate version of the Zephyr Utility for your version of Mac OS X:

Software Download Mac OS X
Zephyr Utility 1.3 for Mac OS X 10.6 (Universal) 6 MB 10.6
Zephyr Utility 1.2 for Mac OS X 10.5 (Universal) 11.5 MB 10.5

Installing the Zephyr Utility

To install Zephyr Utility, follow these steps:

  • If you want to use the Growl Notification system, you should first download and install Growl from here.

  • If the downloaded file wasn't automatically mounted, then double-click on the .dmg file to mount the disk image.

  • Double-click on the "Zephyr Utility.mpkg" package installer to install the Zephyr Utility and the support executables and files.

What Gets Installed and Where

/opt/local/lib
(Mac OS X 10.5 Only)

libhistory.5.2.dylib
libhistory.5.0.dylib -> libhistory.5.2.dylib
libhistory.5.1.dylib -> libhistory.5.2.dylib
libhistory.5.dylib -> libhistory.5.2.dylib
libhistory.dylib -> libhistory.5.2.dylib
libreadline.5.2.dylib
libreadline.5.0.dylib -> libreadline.5.2.dylib
libreadline.5.1.dylib -> libreadline.5.2.dylib
libreadline.5.dylib -> libreadline.5.2.dylib
libreadline.dylib -> libreadline.5.2.dylib

/usr/athena/bin

growlzephyr
xzwrite (Mac OS X 10.5 Only)
zaway
zctl
zephyrfavs
zleave
zlocate
zlogger
zmailnotify
znol
zstat
zwgc
zwrite

/usr/athena/lib
(Mac OS X 10.6 Only)

libhistory.6.0.dylib
libhistory.6.dylib -> libhistory.6.0.dylib
libhistory.dylib -> libhistory.6.0.dylib
libreadline.6.0.dylib
libreadline.6.dylib -> libreadline.6.0.dylib
libreadline.dylib -> libreadline.6.0.dylib

/usr/athena/man

man1/xzwrite.1 (Mac OS X 10.5 Only)
man1/zaway.1
man1/zctl.1
man1/zephyr.1
man1/zleave.1
man1/zlocate.1
man1/zmailnotify.1
man1/znol.1
man1/zwgc.1
man1/zwrite.1
man8/zhm.8
man8/zpopnotify.8
man8/zshutdown_notify.8
man8/zstat.8

/usr/athena/sbin

zhm
zpopnotify
zshutdown_notify

/usr/athena/share/zephyr

GrowlZephyr.png
XZwrite (Mac OS X 10.5 Only)
xzwrite.bitmap (Mac OS X 10.5 Only)
zwgc.desc
zwgc_resources

/Library/Application Support/ZephyrUtility

edu.iastate.ZephyrUtility.plist

/Library/Perl

The Mac::Growl Perl modules (used by /usr/athena/bin/growlzephyr) are compiled and installed into /Library/Perl.

/Applications/Utilities

Zephyr Utility

/Users/user

If any of these files already exist, then the corresponding file will be created with ".sample" appened to the file name. For example: .anyone.sample. This preserves your origional file and shows you the file that is distributed by the Zephyr Utility package installer.

.anyone
.away
.growlzephyr
.zephyr.favs
.zephyr.log
.zephyr.subs
.zephyr.vars
.zwgc.desc

Using the Zephyr Utility

Starting zhm

The first time the Zephyr Utility runs (and each time after a reboot), the Zephyr Host Manager (zhm) daemon needs to be started. The Zephyr Utility will detect when zhm needs to be started and will ask you to supply an Admin account and password to start it.

Getting Keberos Tickets

If you don't have a Kerberos TGT (ticket granting ticket), which is needed to obtain a Zephyr Kerberos Ticket, the Zephyr Utility will ask you to supply your Net-Id and Net-Id password to obtain the Kerberos TGT.

zwrite

Write to another user via Zephyr.

  • Type the Net-Id of the user that you want to send a zephyr message to in the "To:" field
    or select the user from your "Favorites" list using the menu.

  • Type the text of the message in the text box below the "To:" field.

  • Click the button to send the message. Information resulting from executing the zwrite command will be displayed in the results field.

  • Click the button to clear the message.
  • To add a user to your "favorites" list:

    • Type the Net-Id of the user that you want to add to your "Favorites" list in the "To:" field,
    • Then click the button.

  • To remove a user from your "Favorites" list:

    • Select the user from your "Favorites" list using the menu,
    • Then click the button.

The "To:" field can accept additional options. This is useful when you want to override a default or preference setting just for this one time.

The Zephyr Utility understands the following options:

[-a ] [-d ] [-v ] [-q ] [-t ] [-u ] [-o ] [-n ] [-C ] [-O opcode] [-s signature] [-c class] [-i instance] [-r realm] [-f arg ] {user ... | class,instance[,recipient[@realm]]} [-m message]

-a
Causes zwrite to send the message authenticated, using Kerberos to perform the authentication.

-d
Causes zwrite to send the message unauthenticated.

-v
Causes zwrite to print what type of message it is sending, and whether or not it was successful.

-q
Forces zwrite to suppress information about whether or not the message was sent.

-t
Prevents zwrite from expanding tabs in the message into appropriate spaces.

-u
Allows you to send an urgent message. This changes the zephyr instance of the message to "URGENT". Some Zephyr clients may not handle an urgent instance.

-o
Causes zwrite to ignore the Zephyr variables zwrite-class, zwrite-inst, and zwrite-opcode when picking a default class, instance, and opcode.

-n
Prevents zwrite from sending a PING message to verify the recipient is subscribing to messages. If the PING is sent, and the server response indicates there are no recipients subscribed to your message, zwrite exits without sending a message. When the -m option is used, no PING is sent.

-C
Prepends a "CC:" line to the body of the message indicating the recipients of the message. This is strictly a convenience: the presence of a "CC:" line at the top of a zephyr body does not necessarily indicate that this option was used, or that the message really was sent to the listed users, and its lack doesn't indicate that the message was not sent to multiple users.

-O opcode
Allows you to specify a different opcode for the message. Some Zephyr notice display programs may use the opcode to decide how to display a notice.

-s signature
Sets the signature to be included in the message. This overrides other signature settings. A signature argument of "" leaves the signature in the message empty.

-c class
Allows you to specify a different class for the message.

-i instance
Allows you to specify a different instance than the default.

-r realm
Allows you to specify a different realm for the message, if the server supports inter-realm Zephyr.

-f arg
Allows you to specify an argument to be interpreted as a filesystem specification.

user [user ...]
Specify the Net-Id or list of Net-Ids (space separated) of the users that you want to send a message to.

class,instance[,recipient[@realm]]
Specify the class, instanace, recipient and realm that you want to send a message to. This syntax is a short-cut to specifying these options using -c, -i, and -r.

-m message
The Zephyr Utility sends the remaining arguments in the "To" field as the message. This overrides any message that is in the message field. If used, this option must be specified last.

zaway

Tell other people via Zephyr that you aren't around.

  • Watch location Status

    Check to watch your location status. If you are locatable anywhere, no auto-replies will be sent.

  • Use file:

    Use the message file specified as the body of the auto-reply message.

  • Use message:

    Use the message specified as the body of the auto-reply message.

  • Click the button to execute zaway. Information resulting from executing the zaway command will be displayed in the results field.

  • Click the button to reset the zaway settings with your zaway preferences.

When zaway is started, a window will be displayed:

You can not use any of the other Zephyr Utility functions until zaway is stopped. To stop zaway, click the button.

zctl

Zephyr control program.

  • Select what you want to control from the menu.

  • If additional class, instance or recipient information is needed, then specify that information in the "Class:", "Instance:" and "Recipient:" fields.

    There are three macros that can be used to specify the "Class:" or "Instance:" fields:

    %host%
    is converted to the current hostname

    %canon%
    is converted to the hostname as returned by gethostbyname

    %me%
    is converted to your Kerberos principal

  • If additional variable and value information is needed, then specify that information in the "Variable:" and "Value:" fields.

  • Click the button to execute zctl with the control you selected and the information you specified. Information resulting from executing the zctl command will be displayed in the results field.

The following control options are available from the menu:

List contents of the subscriptions file

(zctl list)

List contents of current subscriptions file. Any macros in the file are displayed verbatim and not expanded.

Subscribe and add to the subscriptions file

(zctl add class instance [recipient])

Subscribe to class, instance, recipient, and add this triplet to the subscriptions file.

(zctl subscribe class instance [recipient])

Subscribe to class, instance, recipient, but don't add this triplet to the subscriptions file.

Unsubscribe and remove from the subscriptions file

(zctl delete class instance recipient)

Unsubscribe to class, instance, recipient and remove this triplet from the subscriptions file.

(zctl unsubscribe class instance [recipient])

Unsubscribe to class, instance, recipient, but don't remove this triplet from the subscriptions file.

Unsubscribe and add to the subscriptions file as an un-subscription

(zctl add_unsubscription class instance [recipient])

Unsubscribe to class, instance, recipient, and add this triplet to the subscriptions file as an un-subscription.

Unsubscribe and remove from the subscriptions file as an un-subscription

(zctl delete_unsubscription class instance [recipient])

Unsubscribe to class, instance, recipient, and remove this triplet from the subscriptions file as an un-subscription.

Cancel all subscriptions

(zctl cancel)

Cancel all subscriptions.

Save all current subscriptions

(zctl save)

Save all current subscriptions (as returned by the Zephyr server) into current subscriptions file.

Subscribe to all subscriptions and unsubscribe to all un-subscriptions

(zctl load)

Subscribe to all subscription triplets and unsubscribe to all un-subscription triplets in current subscriptions file.

Unsubscribe to all subscriptions (un-subscriptions are ingnored)

(zctl unload)

Unsubscribe to all subscription triplets in current subscriptions file. Un-subscriptions in the file are ignored.

Flush all location information

(zctl flush_locs)

Tell the Zephyr servers to flush all location information associated with the user.

Flush all state associated with the current h

(zctl hm_flush)

Tell the HostManager, zhm, to ask the server to flush all state associated with the current host.

Hide your location

(zctl hide)

Hide your location as maintained by the Zephyr server. This does not affect the value of the exposure variable.

Unhide your location

(zctl unhide)

Make your location as maintained by the Zephyr server visible. This does not affect the value of the exposure variable.

Retrieve all current subscriptions from the Zephyr server

(zctl retrieve)

Retrieve all current subscriptions from the Zephyr server. These include subscriptions that might have been made by other programs, such as znol.

Retrieve the default subscription list from the Zephyr server

(zctl defaults)

Set a Zephyr variable

(zctl set variable [value])

Set the value of Zephyr variable to value, or null if no value is specified.

Delete a Zephyr variable

(zctl unset variable)

Delete the definitions of the specified Zephyr varible.

Show a Zephyr variable

(zctl show variable)

Show the value of the specified Zephyr variable

Tell zwgc to exit

(zctl wg_exit)

Tell the WindowGram client, zwgc, to exit.

Tell zwgc to reread its description file

(zctl wg_read)

Tell the WindowGram client, zwgc, to reread its description file.

Tell zwgc to stop accepting Zephyr notices

(zctl wg_shutdown)

Tell the WindowGram client, zwgc, to shutdown. This causes it to ignore all notices until a wg_startup command is issued.

Tell zwgc to start accepting Zephyr notices

(zctl wg_startup)

Tell the WindowGram client, zwgc, to start accepting notices again. This is useful after a wg_shutdown command has been issued.

zleave

Notify you via Zephyr when you have to leave.

You are reminded 5 minutes and 1 minute before the actual time, at the time, and every minute thereafter.
All times are converted to a 12 hour clock, and assumed to be in the next 12 hours.

  • What time do you want to leave?

    Select the hour and minutes from the "Hour:" and "Minute:" menus.

    • At specific time of day

      Check this to be notified at the selected time of day.

    • In hours and minutes from now

      Check this to be notified the hours and minutes from now.

  • Append this message to the standard message:

    If checked and a message is specified, the message is appended to the standard message (a sentence describing how much time remains until the appointed hour) sent at appropriate times.

  • Click the button to start zleave. Information resulting from executing the zwrite command will be displayed in the results field.

  • Click the button to stop zleave. Information resulting from canceling the zwrite command will be displayed in the results field. If you quit the Zephyr Utility before the notification has occured, it will cancel zleave for you.

  • Click the button to reset the zleave settings with your zleave preference settings.

zlocate

Find a user using Zephyr.

  • Type the Net-Id of the user that you want to locate in the "User:" field
    or select the user from your "Favorites" list using the menu.
  • To add a user to your "favorites" list:

    • Type the Net-Id of the user that you want to add to your "Favorites" list in the "User:" field,
    • Then click the button.

  • To remove a user from your "Favorites" list:

    • Select the user from your "Favorites" list using the menu,
    • Then click the button.

  • Click the button to execute zlocate. Information resulting from executing the zlocate command will be displayed in the results field.

znol

Notify via Zephyr upon login or logout of interesting people.

  • Set znol on/off

    Turns notification on or off. This provides a way for you to be notified when interesting people log in or out.

  • List people who are currently logged in

    Causes znol to just list the people in the namelist file who are currently logged in, without subscribing to the login messages.

  • Use file:

    Check this to use the namelist file specified as the list of the interesting users.

  • Use user:

    Check this to use the user specified as the only interesting user.

  • Click the button to execute znol. Information resulting from executing the znol command will be displayed in the results field.

  • Click the button to reset the znol settings with your znol preferences.

zstat

Display Zephyr statistics.

  • Show Hostmanager statistics

    Check to show HostManager statistics.

  • Show Server statistics

    Check to show Server statistics.

  • Click the button to execute zstat. Information resulting from executing the zstat command will be displayed in the results field.

  • Click the button to reset the zstat settings with your zstat preferences.

zwgc

Zephyr Windowgram Client program.

  • Start zwgc in...

    • Check "Grow mode" to start zwgc in Growl mode.

    • Check "X11 mode" to start zwgc in X11 mode.

    • Check "TTY mode" to start zwgc in TTY mode.

  • Do Fallback (Growl -> X11 -> TTY)

    If checked, the Zephyr Utility will attempt to start zwgc in the following modes in order:

    Growl mode, then X11 mode, then TTY mode

  • Click the button to start zwgc in the mode specified. Information resulting from executing the zwgc command will be displayed in the results field.

  • Click the button to stop zwgc. Information resulting from executing the "zctl wg_exit" command will be displayed in the results field. When zwgc is stopped, you will not receive any Zephyr messages, but you can continue to use all of the rest of the Zephyr Utility features.

  • Click the button to reset the zgwc settings with your zwgc preferences.

Files Used by the Zephyr Utility

The Zephyr Utility files can be viewed (and edited) using the "File -> Open" menu.

The Zephyr Utility files are:

Description File

(Default: .zwgc.desc)

Zwgc formats its output messages according to the commands in its description file. Every time a notice is received, zwgc runs through the description file, and executes the appropriate commands.

Favorites File

(Default: .zephyr.favs)

The Favorites file is a list of favories users that is maintained by the user using the Zephyr Utility.

GrowlZephyr File

(Default: .growlzephyr)

The GrowlZephyr file is used by the growlzephyr script (/usr/athena/bin/growlzephyr) to determine which grow notification to use when sending the message to Growl to be displayed. Each line in the GrowlZephyr file is matched against the full message until a match is found. The line can be a simple string or a Perl expression. If not match is found, the Growl notification of "default" is used.

Log File

(Default: .zephyr.log)

The Log file logs all incoming and outgoing messages depending on the preferences of zwrite and zwgc.

Message File

(Default: .away)

zaway uses the Message file to describe what reponses should be sent to which senders. The general format of this file is:

>name
>name
message
>name
message

Any number of user names may be specified preceding the message to send to those senders. If a user name appears more than once, the message will be a concatenation of each of the appropriate messages. There are two special names: "*" indicates that the following message should be sent to all senders and "%" indicates that the following message should only be sent if the user name has not matched yet.

If no file is specified, and no default file can be found, the following message is returned:

I'm sorry, but I am currently away from the terminal and am not
able to receive your message.

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 a signature "Automated reply:". To avoid loops, messages are not sent in response to messages beginning with an "Automated reply:" signature or sent by the same Kerberos principal as the user running zaway.

Namelist File

(Default: .anyone)

The Namelist file contains a list of people you are interested in. This file is used by znol to notify you when one of the people in this file logs in or logs out.

Subscriptions File

(Default: .zephyr.subs)

The Subscriptions file is a list of triplets that you are automatically subscribed to when the Zephyr Utility starts zwgc. Subscriptions can be maintained by the Zephyr Utility zctl function.

Variables File

(Default: .zephyr.vars)

The Variables file is used to hold Zephyr variables used by zwgc. Variables can be maintained by the Zephyr Utility zctl function.

Zephyr Utility Preferences

Preferences Menu

The Zephyr Utility can be configured by using the "Zephyr Utility -> Preferences..." menu.

Preferences Files

The Zephyr Utility uses the following preferences files:

/Library/Application Support/ZephyrUtility/edu.iastate.ZephyrUtility.plist

Default user preferences and Zephyr Utility application preferences are stored in the edu.iastate.ZephyrUtility.plist file in the /Library/Application Support/ZephyrUtility directory (installed by by the Zephyr Utility package installer).

/Users/user/Library/Preferences/edu.iastate.ZephyrUtility.plist

The users's preferences are stored in the edu.iastate.ZephyrUtility.plist file in the users /Library/Preferences directory (created by the Zephyr Utility if the file does not exist).

zwrite

Set zwrite preferences.

  • Click the button to accept the preferences and exit.

  • Click the button to ignore the preferences and exit.

  • Click the button to reset the preferences with the default
    Zephyr Utility preferences.

  • Send authenticated message

    If checked, the Zephyr Utility will tell zwrite to send the message authenticated, using Kerberos to perform the authentication.

  • Show what type of message zwrite is sending

    If checked, the Zephyr Utility will tell zwrite to print what type of message it is sending, and whether or not it was successful.

  • Show information about whether or not the message was sent

    If checked, the Zephyr Utility will tell zwrite to print information about whether or not the message was sent.

  • Ignore the Zephyr variables when picking a default

    If checked, the Zephyr Utility will tell zwrite to ignore the Zephyr variables zwrite-class, zwrite-inst, and zwrite-opcode when picking a default class, instance, and opcode.

  • Prevents zwrite from expanding tabs

    If checked, the Zephyr Utility will tell zwrite to prevent zwrite from expanding tabs in the message into appropriate spaces.

  • Prevents zwrite from sending a PING message

    If checked, the Zephyr Utility will tell zwrite to prevent zwrite from sending a PING message to verify the recipient is subscribing to messages.

  • Prepends a "CC:" line when sending to multiple recipients

    If checked and the "To:" field contains multiple recipients, the Zephyr Utility will prepend a "CC:" line to the body of the message indicating the recipients of the message.

  • Use signature to be included in the message:

    If checked, the Zephyr Utility will tell zwrite to use the signature specified as the signature of the message. If the signature is blank, the signature in the message will be empty.

  • Log outgoing messages

    If checked, the Zephyr Utility will log the outgoing message to the log file.

  • Wrap text at:

    Specify the column to wrap the text message on. This prevents the message to show as one line to other Zephyr clients.

zaway

Set zaway preferences.

  • Click the button to accept the preferences and exit.

  • Click the button to ignore the preferences and exit.

  • Click the button to reset the preferences with the default
    Zephyr Utility preferences.

  • Watch location Status

    Check to watch your location status. If you are locatable anywhere, no auto-replies will be sent.

  • Use file:

    Use the message file specified as the body of the auto-reply message.

  • Use message:

    Use the message specified as the body of the auto-reply message.

zleave

Set zleave preferences.

  • Click the button to accept the preferences and exit.

  • Click the button to ignore the preferences and exit.

  • Click the button to reset the preferences with the default
    Zephyr Utility preferences.

  • Automatically run zleave when the Zephyr Utility starts:

    Check to automatically run zleave when the Zephyr Utility starts and select the hour ane minute of when you want to leave.

  • What time do you want to leave?

    Select the hour and minutes from the "Hour:" and "Minute:" menus.

  • Append this message to the standard message:

    If checked and a message is specified, the message is appended to the standard message (a sentence describing how much time remains until the appointed hour) sent at appropriate times.

zlocate

Set zlocate preferences.

  • Click the button to accept the preferences and exit.

  • Click the button to ignore the preferences and exit.

  • Click the button to reset the preferences with the default
    Zephyr Utility preferences.

  • Send authenticated request

    Check to send an authenticated request using Kerberos.

znol

Set znol preferences.

  • Click the button to accept the preferences and exit.

  • Click the button to ignore the preferences and exit.

  • Click the button to reset the preferences with the default
    Zephyr Utility preferences.

  • Automatically set znol on when the Zephyr Utility starts:

    Check to automatically set znol on when the Zephyr Utility starts. This provides a way for you to be automatically notified when interesting people log in or out.

    • Use file:

      Check this to use the namelist file specified as the list of the interesting users.

    • Use user:

      Check this to use the user specified as the only interesting user.

zstat

Set zstat preferences.

  • Click the button to accept the preferences and exit.

  • Click the button to ignore the preferences and exit.

  • Click the button to reset the preferences with the default
    Zephyr Utility preferences.

  • Show Hostmanager statistics

    Check to show HostManager statistics.

  • Show Server statistics

    Check to show Server statistics.

zwgc

Set zwgc preferences.

  • Click the button to accept the preferences and exit.

  • Click the button to ignore the preferences and exit.

  • Click the button to reset the preferences with the default
    Zephyr Utility preferences.

  • Automatically start zwgc when the Zephyr Utility starts:

    Check to automatically start zwgc when the Zephyr Utility starts and select the zwgc mode to use:

    • Check Start in "Grow mode" to automatically start zwgc in Growl mode.

    • Check Start in "X11 mode" to automatically start zwgc in X11 mode.

    • Check Start in "TTY mode" to automatically start zwgc in TTY mode.

  • Do Fallback (Growl -> X11 -> TTY)

    If checked, the Zephyr Utility will attempt to automatically start zwgc in the following modes in order:

    Growl mode, then X11 mode, then TTY mode

  • Log incoming messages

    If checked, the Zephyr Utility sets the "logmessage" variable to YES in the Variables file. This variable is used by zwgc to determine whether or not to log incoming messages.

  • Log incoming mail

    If checked, the Zephyr Utility sets the "logmail" variable to YES in the Variables file. This variable is used by zwgc to determine whether or not to log incoming mail messages.

  • Use description file:

    Specify the Description file to be used by zwgc.

  • Use subscription file:

    Specify the Subscription file to be used by zwgc.

zlogger

Set zlogger preferences.

  • Click the button to accept the preferences and exit.

  • Click the button to ignore the preferences and exit.

  • Click the button to reset the preferences with the default
    Zephyr Utility preferences.
  • Use log file:

    Specify the Log file to be used by the zlogger script. This script is called by the Zephyr Utility if outgoing messages are being logged and by zwgc if either incoming messages are being logged.

Last updated September 11, 2009