2001 11 01

                    LINUX NEWS
        Resources & Links From CramSession.com
            Thursday, November 1, 2001


1) Sean’s Notes

2) Linux News

BMC PATROL to Support Linux
VM Disputes
Linus Responds to VM Questions
A Look at SuSE 7.3 Professional

3) Linux Resources

Using Samba: Free On Line
Programming Resources
Distro Watch
Kernel Newbies FAQ
Linux Performance Tuning

4) App o’ the week

~~~~~~~~~~~~~~~~~~~~~~ ADVERTISEMENT ~~~~~~~~~~~~~~~~~~~~~~~

Speed up your test success - this innovative and unusual study method increases learning, retention and faster recall

Click Below To Read More! http://ad.brainbuzz.com/?RC06&AI%47

For information on how to advertise in this newsletter
please contact mailto:adsales@CramSession.com or visit

1) Sean's Notes

X-Windows was developed around 1984 as a way to add a GUI
to Unix.  Since then it's evolved considerably, and currently
runs on almost any hardware you can throw at it.  This is,
in a large part, due to its superior layered design, which
I'll do my best to explain this week.

X-Windows was designed with "network transparency" in mind.
In a nutshell, it doesn't matter if the monitor sits on the
same desk as the computer, or across the world.  It's a client-
server application, so all that's required is that the client
be able to talk to the server.

To explain how this works, it is helpful to define the client
and the server.  The server is the part that displays the
images to a screen, and accepts the keyboard and mouse actions.
The client is the application itself.  Backward?  Maybe.
It seems kind of odd that you run a client on a server to
connect to a server on a client, but that's just the way it is.

The client and server speak the aptly-named X Protocol.  This
protocol is a basic drawing language, lines, clicks, and such.
The server implements this protocol and ties it to the pixels
on the screen.  Thus, you can have a server for Windows, which
needs no knowledge of Unix to run Unix applications in a local
window (though, it is vital to note that the application itself
(client) runs on the Unix side).  A quick check of tucows.com
shows 5 Windows X servers.  On the Unix side, XFree 86 supports
many video cards and frame buffers, not to mention the
commercial X Servers that come with Solaris and the like.
They all implement the X protocol, from the client's
perspective, it doesn't matter.  It all works.

Having each X client write the network code to speak the X
protocol would not be good.  Thus, Xlib was developed as a
C interface to the X protocol.  It's not great, but it's
something.  Rather than having to worry about the network
code, using Xlib means that the programmer's job is made
more simple.

Xlib is still fairly bare metal; if you want to create a
window, you're responsible for everything about it.  Xt
Intrinsics bunches common things together into an easier to
use API, and also creates "widgets".  A widget can be anything
from a Window to a text entry box.  Xt itself doesn't actually
make the widgets itself, it just provides the hooks for other
people to do it.

Motif, Athena, GTK, and Qt are widget sets, AKA toolkits.
They add functionality in the form of widgets, and tie in
other functions of the lower layers to make the job easier
for the programmer.  I should note that there's no
restriction saying that a widget set can't bypass Xt and go
to Xlib, or even for a client to use GTK, Xt, and Xlib
simultaneously.  These widget sets implement the consistent
look and feel you see on your desktop.  Thus, you can change
one configuration file, and have every application that uses,
say, GTK, change appearance.

On top of all of this is where applications (clients) are
built.  Whew!

Think we're done?  Nope.  So you've got a pretty looking
window.  It's got a handy application running inside.  You
can't move it around your screen.  It sits at the top left,
and is immovable.  We need something that handles the desktop.

A Window Manager (WM) handles all the various windows.
Examples of window managers are sawfish, enlightenment,
KDE's WM, NeXt Step, and tons of others.  The WM marshals
around the windows, adds in X clients of its own that do
menubars, launchers, and other desktop-type things.  Most WM's
implement virtual desktops, which allow you to have several
active screens, but only display one at a time.

There is still yet another component that sits just under
the Window Manager (sorry for skipping a step).  It's not
necessary, but it "adds value", as it were.  The desktop
environment, these days GNOME or KDE, allows interaction
between applications, like drag and drop, and application
registration.  As long as a Window manager is compliant with
one of the above, it can handle the extra features.  If it
isn't, then that's OK too.

This may seem like a big, ugly, and complex system when
compared to Microsoft Windows.  It's big and complex, but
it's definitely not ugly.  Since each layer builds upon the
layers below it, using strictly defined APIs, we can get our
network transparency for free.  Display that CAD program on
your Windows box.  Use an old 486 as an XServer, and harness
the power of that multiprocessor system.

This layering approach is found all over UNIX; kernel modules
use it, and so do filesystems (i.e. mounting a file containing
a CD image).  By using this methodology, systems programmers
can make sweeping changes in one part without affecting the
others.  Developers can use the toolkit of their choice,
knowing that the results will work anywhere.  Applications
can be written without worrying about being in a terminal
services environment.

With certain exceptions for hardware acceleration, X runs
entirely in user land.  A misbehaving X application might
crash your session, but it's very difficult to crash your
system.  This translates to fewer reboots, and a more stable
system.  It also means that a GUI is optional, or at least
swappable.  Don't need fancy windows on your server that sits
in a closet?  Don't run X.

Basic Xlib programming:

Explanation of the layers:

Good picture of the layers:

Long live the Penguin,


Visit the Linux News Board at

2) Linux News

BMC PATROL to Support Linux
PATROL is a product used for network and desktop management.
They've recently announced that their product will support
Linux servers, and that they've entered a strategic
partnership with IBM to support the ZSeries and mainframe
boxes running Linux.


VM Disputes
I'm not an avid follower of the kernel mailing list, but
when certain threads make it to Slashdot, I take notice.
I'm more impressed with a single guy rewriting the entire
virtual memory system than I am with the disputes over
which one is better, but this article explains the
importance of the VM system, and how it affects performance.


Linus Responds to VM Questions
Hot on the tail of the last item is Linus' response. I bring
it to you mainly because he sets out some pretty clear
milestones for the 2.5 Kernel and where he'd like to go with
the VM system there.


A Look at SuSE 7.3 Professional
SuSE is unique in that it's one of the last distributions
to support the SPARC and Alpha architectures, in addition
to the good old x86. This review is worth a read if you're
not familiar with SuSE, and what it has to offer.


3) Linux Resources

Using Samba: Free On Line
O'Reilly's "Using Samba" book has been made available as a
free online download in both HTML and PDF formats. This is
quite the comprehensive work on the topic, so if you're
having Samba troubles, this is a good place to start looking!


Programming Resources
If you have aspirations of becoming a programmer, but don't
know how to take advantage of the tools that Unix offers,
start here. There are tutorials ranging from how to compile
a program, through to debugging, and on to threads, sockets,
and graphics.


Distro Watch
I can't believe I haven't seen this site before. All the
latest releases in distributions and major software, along
with some comparisons and rankings.


Kernel Newbies FAQ
Wondering what the differences are between the AC and Linus
kernels? How do you apply a patch? What's the deal with
modules? This, and a whole lot more, are answered in the
kernel newbies FAQ.


Linux Performance Tuning
A reader sent in this wonderful link to performance tuning
hints. Many different systems are covered, such as file
serving, web serving, and kernel tweaks. It's updated
frequently, so you can be sure you'll have the latest info
on how to squeeze the most performance out of your machine.


4) App o' the week

EBay is a pretty interesting place; a friend of mine has
picked up lots of old UNIX workstations for quite cheap.
The more I look at the web page, though, the more I realize
things would be a lot easier if there were a program to
manage the auctions and keep a watch on things for me.
Surprisingly enough, there are several Unix programs out
there that can do this. One of them, bidwatcher, runs in X,
can watch your auctions, bid on your behalf, and more!


(C) 2001 BrainBuzz.com. All Rights Reserved.

         This message is from CramSession.com.

You are currently subscribed to the
   Hottest Linux News and Resources
   as: sean@ertw.com

To un-subscribe from this newsletter by e-mail:
   send a blank email message to:


To Subscribe to this newsletter by e-mail:
   send a blank email message to: