Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Jul 1998 12:55:43 +0200
From:      Johann Visagie <wjv@cityip.co.za>
To:        "Douglas L. Setzer, II" <dsetzer@bigfoot.com>, freebsd-questions@FreeBSD.ORG
Subject:   Re: Win95 X-Window Type Thing-a-MaJig
Message-ID:  <19980702125543.B6670@cityip.co.za>
In-Reply-To: <359B11C2.4EAC90BC@bigfoot.com>; from Douglas L. Setzer, II on Thu, Jul 02, 1998 at 12:51:14AM -0400
References:  <359B11C2.4EAC90BC@bigfoot.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 02 Jul 1998 at 00:51 SAT, Douglas L. Setzer, II wrote:
>
> Can someone tell me exactly what is startX and what a X-Windows SERVER
> is??
> 
> I know that X-Windows is a GUI that allows you to run applications by
> using happy icons and what not.  So, what is all of this other stuff?

Ummm...  OK, I seem to have a few minutes.  I might as well answer this one,
and then save the answer for further future use.  ;-)  I apologise for any
errors - I'm sure those more knowledgeable will correct me.

You see, X is more than just a windowing system, it is also a full-blown
communications protocol built on top of TCP/IP.  It is what some people call
a "server-client" protocol (as opposed to client-server).  Remember that it
is _just_ a protocol.  It is implemented in many software packages by many
vendors.  The current major revision number of the X protocol is 11.  Hence,
you'll hear many people refer to it as "X11".

The X server is a piece of software that runs on some hardware that has a
display CRT attached to it.  Examples of X servers are:

- XFree86 running on FreeBSD
- Many other X-compliant servers running on any UNIX flavour
- X server software exists for VMS (e.g. DECwindows?)
- A firmware-based X server on a (say) Tektronix X terminal
- Hummingbird Exceed, and many other X servers for win32 systems
- Many other examples

As I said, X is just a protocol.  Note that not all the examples I mentioned
above run on UNIX-like operating systems!

Any program or application that uses an X server to display its output is an
X client.  An X client requests the windowing services of an X server.
Examples of X clients are:

- xterm (a terminal emulation package)
- All UNIX versions of Netscape Communicator
- xv (an image viewer)
- many, *many* more...

Again, X clients do not only exist on UNIX-like operating systems!

Now this is where it gets interesting:  X is, as I said, a comms protocol
running on top of TCP/IP.  There is *no reason* why an X server and the X
client that is using it to display its output should be running on the same
machine!

For instance:  I could be running Exceed as an X server under Windows 95
(hypothetically).  I can use Exceed to display the windows of X applications
(clients) running on my FreeBSD box in the corner, a VAX downstairs, and an
HP/UX box on the other side of the world, all simultaneously.

In other words, a single FreeBSD box running XFree86, and displaying only the
output windows of applications running on itself, is actually a special case.

OK, so far so good, but there's one more complication:  X does not supply all
the window managing features you need to have a full GUI.  IIRC, it keeps
track of which windows overlap which other ones, but that's about it.  To
give your X server a particular "look and feel", you need yet another piece
of software - one that is usually called a "window manager".  The window
manager is responsible for adding nice borders to windows, controlling how
menus work, how windows are moved and resized, etc. etc.  Basically, the
entire "look and feel" of your GUI.  It's even possible to change that look
and feel on the fly by swapping window managers!

Examples of window managers are:

- twm
- fvwm
- fvwm95
- AfterStep
- Enlightenment
- many, many more

It's interesting to note that the window manager is _also_ just an X client.
There's no reason why it and the X server need to run on the same machine!
It's quite possible to run your X server on one machine, your window manager
on another, and your clients on yet further machines.  So it goes.  ;-)

> Also, the Redhat 5.1 version of Linux came with a X-Windows thing that
> was pretty nice.. does anyone know which it is, and if so, can I run it
> on fBSD?

AFAIK, RedHat comes with a slightly hacked and adapted version of fvwm95 as
its "default" window manager.

> And lastly, I'm a win95 person at heart, or  well, that is what I've
> used for a REALLY long time... is there a X-Windows program that looks
> like win95, ie.. start menu, shortcuts, etc..?
> It doesn't have to be exact, just similar.

fvwm95, for one.  There are others as well.  Look in the ports collection
under "X11".

Oh, one other interesting note:  Some of the win32-based X servers _don't_
need a separate window manager.  Rather, they use MFC in an interesting
manner to provide similar functionality.  This means that, using such a
server, you can have your "normal" Windows windows, and your X windows
belonging to remote applications intermingled on the same desktop.

-- V

Johann Visagie | Email: wjv@CityIP.co.za | Tel: +27 21 419-7878

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980702125543.B6670>