Subject: Re: Is it safe to experiment with multiple X systems?
To: Paul Hoffman <phoffman@proper.com>
From: Richard Rauch <rauch@eecs.ukans.edu>
List: netbsd-users
Date: 01/04/2001 18:30:37
Your subject-line, contrasted with your actual message, suggests to me a
possible point of confusion:

GNOME and KDE do not provide X servers.  They run on top of your existing
X server.  KDE additionally has a strong preference to providing you with
its own window manager; GNOME is a bit more flexible about your window
manager.

The basic layout is:

 * You have some video hardware.

 * You have an X server running on top of the hardware.  (If anything,
   the X server + standard X clients would be what I'd call the ``X
   system''.)  If you are running on i386, the X server that you are
   using is probably XFree86 v3.3.6.  (You might be using v4.0, v4.0.1,
   or v4.0.2, but I assume that you're not doing that.)

   X provides a standard way to open windows, do graphics (including
   fonts for text display), and get mouse/keyboard/other input.  X
   is network-transparent, so that you can run X clients on one machine,
   and the X server (i.e., the display, with video hardware) on another
   machine.

 * You almost certainly will run a window manager on your X server.  The
   window manager is essentially a special client that is allowed to
   control placement of windows.  It also ``decorates'' windows with
   standard ``widgets'' (usually these provide window-motion, resizing,
   iconifying, and perhaps a few other actions).  A window manager also
   may provide backdrops, etc.

   Window managers can also let you kill windows/programs by clicking
   on their windows, and so forth.

 * KDE and GNOME then are desktops.  How much they have their hooks
   into window managers, I'm not sure.  At least the way that I look
   at them, they are suites of more-or-less integrated software designed
   to give you (a) a well-defined range of software and (b) a more or
   less common interface to each of the programs.  These include a help
   browser of some kind, a ``desktop-metaphor'' access to your filesystem,
   custom terminals to replace xterm, software development environments,
   audio, picture/animation viewres, etc.

 * Any other applications (3rd party X clients) that you have.  These talk
   to your X server and to your window manager.  Unless your window
   manager is part of your destkop (if any), your desktop probably doesn't
   get involved in much of anything that these applications do.  (However,
   e.g., GNOME may be able to detect that you've installed the GIMP, and
   so offer a menu to launch the GIMP.  That's probably about as
   involved as the two are likely to be.)


Because KDE provides a window manager, and GNOME seems to have some
preferences about which window manager it starts up (if you run GNOME when
you have no window manager running), the boundary between KDE/GNOME and
window managers seems a little fuzzy.  (Both KDE and GNOME _will_ run if
you already have another window manager running.  GNOME just seems a
little more content/graceful to run under alternate window managers.)


So, with that outline in place:

You can install GNOME, KDE, and arbitrary window managers on your system
(except, as David Brownlee notes, icewm & icewm-gnome, which apparently
conflict).  (In fact, twm is the standard window manager to ship with X.  
If you install any other window manager---which happens automatically with
KDE---you already have 2+ window managers on your system.  (^&)

Normally, you can run AT MOST ONE window manager at any given time on a
given X server.  (But you can run multiple X servers on a single
computer.)  If you are not running a window manager of your choosing, and
start KDE/GNOME, then that desktop environment will run a window manager
for you.

If you have set up your system for it, you can exit _most_ window managers
without exiting the window manager.  (GNOME and KDE seem to take the X
session with them when they exit; but window managers such as twm do not.)

There is one other special note: The window manager ctwm (at least) can be
run INSIDE a window.  From there, it can ``adopt'' other windows from the
surrounding environment.  This is an exception to the ``AT MOST ONE''
window manager limit---you can always run ctwm in a private window.  But,
it is more of a cute feature of ctwm than a useful one, as far as I can
tell.  I mention it only for completeness's sake.  (^&  ctwm is a modified
version of twm; you can install ctwm out of the NetBSD packages.


Or, the really short answer: Generally, there are no problems with what
you want to do.


I'm sure that if I've said anything bogus enough, someone will correct me.  
(As I said, to me, the line between window managers and KDE/GNOME is a
little fuzzy.  But KDE/GNOME also act like integrated suites of normal X
clients...)

I hope that the above is of some help.  (^&


  "I probably don't know what I'm talking about." --rauch@eecs.ukans.edu