182 lines
4.5 KiB
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"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Copyright and License</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |