[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: x window / starting the desktop



Joe wrote:

Hi Kent I do not mean to bother you but I am confused. If I have X running
it shows a GNOME desktop. Is this correct? X is the underlying "server" and
GNOME is what I see? I was under the impression that X is a Desktop such as
KDE or GNOME.
The X "server" is the underlying "graphical system"; it's generic in that you can have all sorts of "clients" running on top of it.

Clients such as Gnome, KDE, wmaker, icewm, fluxbox, xterm, firefox, konqueror, etc run on top of X.

Some clients, such as xterm and firefox, if run as the only clients on top of X, would appear to be all there is to the computer.

Other clients, called window managers, add such things as title bars and the maximize/minimize buttons to the clients such as xterm and firefox.

You can have a "desktop environment", such as Gnome or KDE, that includes both the window manager and a collection of clients that work well together. In the case of KDE (I'm not that familiar with Gnome), KDE is composed of the window manager "kwm" and a host of other clients such as the file manager / web browser client called "konqueror" and the game ktux and the KDE Control Panel, etc etc etc, all running on top of X.

It's possible to run X by itself without having any clients running; in such as case, all you'll see is a grayish hatched background with a mouse pointer. If you were then to start an xterm on top of that instance of X, you'd see a terminal window on top of the grayish hatched background. If you were to start a window manager also, such as fluxbox, your xterm window would gain the title bar and max/min/close buttons, etc., along with any other goodies provided by that particular window manager. If you were to start an entire desktop environment such as KDE or Gnome, you'd get all of the above plus menus and multiple desktops and file managers and control panels and taskbars and clocks on the taskbar and and and etc.

To see how some of this might work, stop any login manager you have running (like with the command "/etc/init.d/gdm stop", as root).

Then, all as a normal user, create the file "~/.xinitrc", and put in it the single line "xterm". Now start X manually with the command "startx". You should see the single client "xterm" running on top of X. Notice it does not have any window "decorations". Type "exit" within the xterm to leave X.

Now edit "~/.xinitrc", and add the line "icewm &" above the "xterm" line, and restart X with "startx". Now you'll see the xterm has window decorations, along with the other goodies provided by the icewm window manager. (The "&" puts icewm "in the background", otherwise the xterm would not run until the icewm was exitted.)

Kill X, and edit your .xinitrc file, and take out the "xterm" line; if you "startx" now, X will start, icewm will start, icewm will go into the "background", and the system will read the next line in .xinitrc, which doesn't exist, so the system will think it's finished, and X will die. (You probably won't see icewm load; it'll all happen rather quickly.)

So remove the "&" so that icewm doesn't go into the background, and try again. This time X starts, and icewm starts, and you've got a functional X instance with icewm as your window manager.

You can use any other window manager (such as twm, or fluxbox, or wmaker, etc) or client (such as firefox, or ktux, etc).

When you've finished tinkering/experimenting, you can restart your normal login manager with "/etc/init.d/gmd start".

Hope this helps you understand things.

--
Kent




Reply to: