[sf-lug] "standard" X-windows in addition to Gnome / KDE?
Michael.Paoli at cal.berkeley.edu
Sun Feb 17 14:44:15 PST 2008
Running "standard" X-windows in addition to Gnome / KDE?
[Ubuntu 7.04 (Feisty)]
There are a few "layers" here.
First, there's the "login" manager X GUI front end - e.g. typically run
by default. E.g. for Gnome, there's gdm, for KDE there's kdm, for
"generic" X, ther's xdm, and there are others (e.g. for OPEN LOOK, CDE,
etc.). X can also be started from an existing logged in session,
without first using a GUI window manager - e.g. by using startx(1).
Then there's the window manager. By (true?) default, X has no window
manager ... of course most any reasonable sane Operating System
installation that includes having X server installed, will have its
defaults configured to at least typically use some window manager by
default. Many GUI login managers will let one also select that bare
bones X only environment, by picking "failsafe" (or similarly labeled)
mode - though some of them instead give you a default configuration of
some window manager rather than the bare bones X default. With the
bare bones X default, one gets an xterm (at least typically - some OS
flavors may use a different X terminal by default), and no window
manager. The default X focus policy is in effect - focus follows the
pointer. That's not a very exciting environment, but it can be highly
useful for fixing broken snazzier X pieces (e.g. window manager
configurations for the system or the user) ... it can also be useful
for directly launching various window managers - e.g. to try out their
look and feel, or test/experiment with them, or whatever. E.g., on my
system, I have at least the following window managers installed:
Typically - but definitely not always - the X GUI login managers and the
window managers have names ending in dm, and wm, respectively.
First client program - in initializing X (e.g. startx --> xinit --> X,
or similarly via X GUI login manager), a "first client program" is
eventually started (e.g. as specified in ~.xinitrc for xinit) - when
that PID terminates, X is terminated (and may be restarted if X GUI
login manger launched it to begin with). Of note is what that "first
client program" is - if it's an xterm or the like, one can typically
shutdown the window manager and launch another window manager. If the
first client program is the window manger itself, that typically can't
be done (unless the window manger itself can exec another window
manager). In such a case, if one wanted to change window mangers, one
would generally need to exit that window manager and start a new X
session with a different window manager - or start X without a window
manager, and then launch the desired window manager. E.g. in my
~/.xinitrc and ~/.xsession files, I have:
xsetroot -solid black
xrdb -merge "$HOME"/.Xdefaults
xmodmap -e 'keycode 77 = Num_Lock Num_Lock'
exec xterm -ls -geometry +0+0 -n login -display $DISPLAY
Since the last process launched is an xterm and it becomes the "first
client program", I can easily shutdown my running window manager, and
start up a different one if desired.
It's also possible to configure different X login managers to run on
different virtual terminals. E.g. I run xdm on tty5, gdm on tty6, and
kdm on tty7. With those configurations, xdm defaults to what I have
specified via my user X configuration file(s), gdm uses or at least
defaults to Gnome, and likewise kdm to KDE.
More information about the sf-lug