/xenix: Shells and Interfaces

©1986 - Richard A. Bilancia - All Rights Reserved


Welcome to the first '/xenix' column, a forum in which I plan to highlight the features and functionality of the most widely used implementation of AT&T's UNIX® operating system, Microsoft's XENIX®. XENIX® is most popular on computers manufactured and sold by Tandy (Fort Worth, Texas) and Altos (San Jose, California), as well as the IBM PC (XT & AT) and compatibles, so in future columns I'll naturally be discussing hardware that runs and/or uses XENIX® too.

This month's column is about some of the various XENIX® user interfaces available. Because no single interface can be all things to all users, and the fact that operating system user interfaces often determine the success or failure of computerized solutions for business problems, I believe that it is essential that XENIX® users have a variety of good user interfaces available to them. Fortunately, with the large number and variety of shells and interfaces that are available for XENIX® users, XENIX® could become the most widely used multi-user operating system ever.

The available XENIX® user interfaces fall into three distinct categories:

The Shells

The full XENIX® development system, regardless of the hardware, generally includes four different shells:

Without going into a great deal of detail, the AT&T Bourne shell is generally recognized as better for program scripts while the Berkeley C-shell is generally recognized as better for interactive use. The restricted Bourne shell is nothing more than a link (see the 'ln' command in section C of your XENIX® reference manual) to the regular Bourne shell, but as the manual states when so invoked prevents the user from "...changing directory (see the 'cd' command in section C of your XENIX® reference manual), setting the value of $PATH, specifying path or command names containing /, [and] redirecting output (> and >>)." A more complete discussion of the Bourne and C shells can be found in Bill Tuthill's The Shell Game: A Comparison of the C and Bourne Shells, beginning on page 103 of the March 1985 issue of UNIX®/World.

In my opinion the fourth XENIX® shell, the Visual Shell, is really a windowing interface which I'll discuss later.

Another widely available shell, AT&T's Korn shell ("ksh"), is now available for XENIX® in pre-release version from Aspen Technologies, P. O. Box 5727, Parsippany, NJ 07054. I became acquainted with the Korn shell when it was distributed with release 3.0 of the UNIX® Utilities for the AT&T UNIX/PC 7300. Because the "ksh" incorporates aliasing, and command line history and editing, as well as being nearly 100% compatible with the Bourne shell, it quickly became my favorite shell.

True to the Microsoft promise of XENIX® portability for the Intel 80286 chip, when I received an evaluation copy of "ksh" from Aspen Technologies I simply followed their installation instructions and had the shell running on the Tandy release of XENIX® on my Tandy 3000HD in short order. I have found no problems with "ksh" and fully agree with John Stember of Aspen Technologies who says, "I find it indispensable and often wonder how I lived without it (sometimes I still must)."

Tandy 6000 users have still another shell at their disposal, the Tandy shell ("tsh"). The Tandy shell was originally designed to help Tandy TRSDOS (the proprietary Tandy Z80 single user operating system) users upgrade to XENIX®. While quite limited in its overall capabilities compared to the other standard shells, it does have some features (like a previous command repeat named "AGAIN", and "BACKUP" and "SAVE" to floppy disk commands) that make it suitable for some users.

Menu Interfaces

Before the idea of windowing interfaces was invented, the accepted way of helping users (both novice and expert) through the complexities of program selection and execution was with the use of menus. Often these menus were each written in a third generation language like COBOL, and customized for each application or user.

Menus still play an important part in user interfaces and can be found quite extensively in XENIX®. The types of menu interfaces available range from the XENIX® Bourne shell based programs (like "/etc/sysadmin"), to the front-ends of other applications (like the Unify® (Lake Oswego, Oregon) relational database system and SCO's (the Santa Cruz Operation) LYRIX word processing system). In all cases these interfaces simply require the user to select a menu item by entering a selection number or letter, or by using cursor movement & selection keys, followed by prompts that solicit further information from the user. Below is a brief overview of just two such menu handlers, the front ends to Unify® and SCO LYRIX, to give the reader a better feel of the variety of menu interfaces available under XENIX®.

SCO's preferred user interface is the menu handler to their LYRIX word processing system. When a user enters LYRIX (version 3.12) he or she does not directly enter the word processing system, but rather sees a menu with the following options:

The "File Management Menu" option will allow the user to copy, delete, and rename files and directories as well as invoke a "File Checking Menu" that has selection items for invoking 'wc(1)', 'l(1)', and 'find(1)'. The "Mail System Menu" has options to read or send electronic mail via 'mail(1)'. The "Additional System Usage Menu" has selection items for 'who(1)', 'date(1)', and 'cal(1)'. The "Printing System Menu" has options to set-up printers for interactive or spooled printing, and to preview files on the screen.

Similarly, the Unify® relational database system menu handler is automatically invoked upon the execution of the "unify" program. Up to 18 separate user definable & selectable items (including other menus) can be included in a Unify® menu. Arrow keys and user definable function keys can be used to select from the menu items. The last line of the terminal screen is reserved for a prompt/status line to help the user understand the options available. User definable help screens can be invoked with a single key stroke, after simply creating text files with the help information.

Many other different and varied menuing systems are available for XENIX®.

The Window Interfaces

As far as I know, there are no XENIX® window interfaces with the full functionality of the the window interface on the AT&T UNIX/PC 7300. SCO's Virtual Console interface comes very close, but can better be described as pop-up screens rather than pop-up windows. Additionally, two XENIX® based window-like interfaces are available: Microsoft's Visual Shell, and on the Tandy 3000 XENIX® port their Deskmate® interface ("desk").

SCO's Virtual Console interface gives the users at the console the flexibility they would have if they had the capability to login to a given system on multiple adjacent terminals. By simply depressing the [ALT]key in combination with one of the function keys, the console operator can temporarily leave an executing, or waiting, process and begin another login session. To return to the first login session without logging off, the user simply types [ALT][F1]. Up to ten simultaneous sessions (depending upon configuration) can be handled in this fashion, allowing virtually any combination of tasks to be processed simultaneously.

Microsoft's Visual Shell is an excellent user interface patterned after the user interface of Microsoft's successful spreadsheet, Multiplan, and word processing package, MS-Word. When using "vsh" the contents of the current working directory are displayed in the top window of the screen, and a set of commands are displayed on the bottom few lines of the screen. Files in the current directory are selected using the arrow keys, while commands (including Copy, Delete, Edit, Help, Mail, Name, Options, Print, Quit, Run, View, and Window) on the bottom of the screen are selected with the space bar, the backspace key, or the first letter of the command. Single key stroke commands allow the user to migrate up and down the directory structure. The system date and time is displayed in the lower right hand corner.

If you want to use the Visual Shell you must be running XENIX®, as Microsoft has chosen to not port "vsh" to any version of UNIX® other than XENIX®.

The most interesting XENIX® based user interface that I've seen is the Tandy 3000 XENIX® exclusive Deskmate® package. After considerable success with their MS-DOS Deskmate® software that comes standard with Tandy's IBM-compatible, Tandy decided to include a comparable product with their port of XENIX®. I was pleasantly surprised to find this interface included with XENIX® for their Tandy 3000.

While the Deskmate® software includes spreadsheet, calendar, database, calculator, phone directory, and word processing programs, it is the user interface to the XENIX® utilities that is unique. The date and time are displayed in the top right hand corner of the screen. A calendar for the current month is displayed on the top left of the screen, with any entries that have been entered to the calendar system for the current date displayed along side. Below that, the name of the current directory is displayed. Further below are six user definable boxes that contain the names of files accessible by the Text, Worksheet, Filer, Calendar, and Mail programs respectively. The last of these six boxes is labeled "APPLICATION" and contains a list of user accessible (and user customizable) application programs. Application files are simply pointed to, and are then opened for modification with a single key stroke.

Additionally included in this interface are options to call the following XENIX® programs with "fill-in the blanks" options:

Within very well defined limits, the user can tailor the interface to access the programs, files, and directories that he or she normally uses.

With tools like Microsoft's Visual Shell ("vsh"), Tandy's Deskmate® ("desk") and SCO's Virtual Console interface, even novice users can learn to work quite effectively in the XENIX® environment.

What Next?

So what do XENIX® uses have to look forward to in terms of better user interfaces? Plenty! Rumor has it that even the ultimate user interface, Microsoft's Windows, may someday become available for XENIX®.


You can email me on the Internet at [email protected]
return to Article List Page
return to Computer Guidance & Support Home Page