old-www/HOWTO/XWindow-Overview-HOWTO/a-day.html

182 lines
4.5 KiB
HTML

<HTML
><HEAD
><TITLE
>A day in the life of an X system</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
"><LINK
REL="HOME"
TITLE="X Window System Architecture Overview HOWTO"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="How it all fits together"
HREF="fit-together.html"><LINK
REL="NEXT"
TITLE="Copyright and License"
HREF="copyright.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>X Window System Architecture Overview HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="fit-together.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="copyright.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="A-DAY"
>11. A day in the life of an X system</A
></H1
><P
>This is an example of how a typical GNOME session goes, under a
modern desktop environment in a Linux system. It's very similar to how
things work under other environments, assuming they work on top of X.</P
><P
>When a Linux system starts X, the X server comes up and
initializes the graphic device, waiting for requests from
clients. First a program called gnome-session starts, and sets up the
working session. A session includes things such as applications I
always open, their on-screen positions, and such. Next, the panel gets
started. The panel appears at the bottom (usually) and it's sort of a
dashboard for the windowing environment. It will let us launch
programs, see which ones are running, and otherwise control the
working environment. Next, the window manager comes up. Since we're
using GNOME, it could be any of several different window managers, but
in this case we'll assume we're running Sawfish. Finally, the file
manager comes up (gmc or Nautilus). The file manager handles
presentation of the desktop icons (the ones that appear directly on
the desktop). At this point my GNOME environment is ready to work.</P
><P
>So far all of the programs that have been started are clients,
connecting to the X server. In this case the X server happens to be in
the same computer, but as we saw before, it need not be.</P
><P
>We'll now open an xterm to type some commands. When we click on
the xterm icon, the panel spawns, or launches, the xterm
application. It's another X client application, so it starts, connects
to the X server and begins displaying its stuff. When the X server
assigns screen space for my xterm, it lets the window manager
(Sawfish) decorate the window with a nice titlebar, and decide where
it will be on screen.</P
><P
>Let's do some browsing. We click on the Netscape icon on the
panel, and up comes a browser. Keep in mind that this browser doesn't
use GNOME's facilities, nor does it use the Gtk toolkit. It looks a
bit out of place here... also, it doesn't interact very nicely with
the rest of the environment. I'll open the "File" menu. Motif is
providing the on-screen controls, so it's the Motif library's job to
make the appropriate calls to the underlying Xlib, draw the necessary
on-screen elements to display the menu and let me select the "exit"
option, closing the application.</P
><P
>Now I open a Gnumeric spreadsheet and start doing some stuff. At
some point I need to do some work on the xterm I had open, so I click
on it. Sawfish sees that, and, being in charge of managing windows,
brings the xterm to the top and gives it focus so I can work there.</P
><P
>After that, I go back to my spreadsheet, now that I'm finished I
want to print my document. Gnumeric is a GNOME application, so it can
use the facilities provided by the GNOME environment. When I print,
Gnumeric calls the gnome-print library, which actually communicates
with the printer and produces the hard copy I need.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="fit-together.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="copyright.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>How it all fits together</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Copyright and License</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>