UNIX SIG By Christopher J. Fearnley The X Window System X is a portable, network transparent Graphical User Interface (GUI) developed at MIT in 1984. X is the premier windowing system for Unix and Unix-like operating systems (though it can run under many architectures). It is supported by a consortium of commercial vendors including AT&T and IBM. X is available for downloading from ftp.x.org - it is free software and is relatively straight-forward to build under ANSI or POSIX complient systems. The current version is 11 release 5 (X11 R5). I will endeavor to discuss some feature of X each month. X is based on a client-server model, in contradistinction to kernel-based systems which lock you into a particular operating system. In X a display server (tailored to the user's machine architecture) provides services (communicating keyboard and "pointer" information and redrawing the display) to any number of clients (or programs). Clients may or may not reside on the same machine as the server. In fact, several clients may be running at the same time, each client residing on a different remote networked machine (each of which may be running different operating systems under different architectures). But there will only be one server running at a time - it takes over the workstation display. One advantage of this is that it provides a means for running programs that your system may not directly support. Moreover, it is a boon to portability because by supporting the X protocol for client-server intercommunication one's software can run on many otherwise incompatible operating systems. The X server is what really drives your X session. It keeps track of input and updates the physical display (which, BTW, may consist of more than one screen - believe it or not). Servers are architecture specific. Although X11 R5 has a generic X server in it, extensive modifications will be necessary before it could work on your home PC, for example. XFree86 is a port of X11R5 for x86 platforms running Unix and Unix-like systems. It comes with servers for most of the available video hardware for this platform. The real service of a system is in the programs it can run for you. Under X these programs are called clients. Upwards of 60 clients ship with X11R5. But many more are available from (ftp.x.org) and other commercial sources. Some typical clients include xterm (which lets you run text-based applications such as those inherent to Unix systems), xclock, xcalc (a calculator), font utilities, and many more. Some commercial applications include WordPerfect and Mathematica. The last piece of the X puzzle is the window manager. This is what gives X its look and feel. Twm is the Tab Window Manager that ships with the standard release of X. It provides titlebars, and other basic window management facilities including icon management and user customizable options. Another window manager is olwm (OPEN LOOK Window Manager) which is part of the OPEN LOOK user interface for X applications developed by Sun Microsystems. As I understand it OPEN LOOK is free, but Sun has just announced that they no longer support it. Mwm (Motif Window Manager) is the premier commercial Window Manager. I'm told that is has a look and feel similar to Microsoft Windows 3.1 (but with numerous advantages to be sure). Finally, one of the most recent window managers to come on stage is fvwm (Free (?) Virtual Window Manager). It is based on twm, but has many enhancements which account for its rapidly rising popularity. A virtual window manager means that there are (typically) nine virtual windows available which one can "page" between. Only one of the virtual windows is active at any given time. The virtue of virtual windows is that you don't need to rummage around the desktop looking for that lost application - just click on it's "picture" in the pager. Another nice feature of fvwm is its support of keyboard equivalents for all mouse (in X parlance "pointer") actions. Fvwm has been ported to many systems besides Linux (where it got its start). Finally, fvwm is being developed using an open model. Thus, new versions are released approximately weekly. Bug reports are quickly received and dealt with (though new bugs are often introduced) and user-supplied extensions are often adopted. My memory upgrade has given me the ability to really play with X. Overall, my impression is favorable. What really impresses me about X is how flexible it is. If you don't like the look and feel of Twm or Motif, there are many other choices or you could even write your own. And X's network capabilities are in a class by themselves. The flexibility is also a problem because the system administrator has much more to learn about all the possible configuration options. Ah, but that's the fun part! Linux Notes On March 14th Linus Torvalds released version 1.0 of the kernel. So Linux (after two and a half years) is no longer Beta. Hurray! It is however, this enthusiast's sad duty to report that in re-solving all the bug fixes that brought us from 0.99pl15 to 1.0 in one month's time, a rather disconcerting bug was introduced which I had the privilege of discovering and reporting to Linus. His first suggested patch didn't really work, but we have the problem narrowed down and soon 1.0 will have one less bug. Whoever said said that an operating system should have ZERO bugs? Sig Notes I tried to meet with everyone after the Internet presentation. I got 10 complimentary copies of _Linux Journal_ which I was giving out to SIG members. I have six copies left. If you want one come early to the meeting. Gordon Fink will present an Introduction to Perl at the April meeting - Be there, or be grepped!