Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Jan 2013 06:39:46 -0800 (PST)
From:      Dru Lavigne <dru.lavigne@att.net>
To:        Marc Fonvieille <blackend@freebsd.org>
Cc:        freebsd-doc@freebsd.org
Subject:   Re: [patch] content changes to X11 chapter
Message-ID:  <1358347186.30735.YahooMailClassic@web184905.mail.gq1.yahoo.com>

index | next in thread | raw e-mail

[-- Attachment #1 --]
--- On Sun, 1/13/13, Marc Fonvieille <blackend@freebsd.org> wrote:

> From: Marc Fonvieille <blackend@freebsd.org>
> Subject: Re: [patch] content changes to X11 chapter
> To: "Dru Lavigne" <dru.lavigne@att.net>
> Cc: freebsd-doc@freebsd.org
> Date: Sunday, January 13, 2013, 5:28 PM
> On Sun, Jan 13, 2013 at 08:58:50AM
> -0800, Dru Lavigne wrote:
> > 
> > 
> > > >> On Fri, Jan 11, 2013 at 02:31:52PM -0800,
> Dru
> > > Lavigne wrote:
> > > >>> Attached is the svn diff for the X11
> chapter.
> > > This
> > > >> represents a
> > > >>> complete content update of this
> chapter.
> > > >>> 
> > > >>> Igor is mostly happy. I think the
> remaining
> > > indent
> > > >> errors are false
> > > >>> warnings as they only occur when an
> inline tag
> > > is in
> > > >> the previous
> > > >>> <para>.
> > > >>> 
> > > >>> I did not verify the widescreen
> settings. I
> > > think the
> > > >> i810 section is
> > > >>> correct. The KDM section needs more
> content.
> > > Other than
> > > >> that, it is a
> > > >>> decent first pass at bringing this
> chapter into
> > > the
> > > >> 21st century.
> > > >>> 
> > > >> 
> > > >> Some thoughts:
> > > >> 
> > > >> - the whole diff will be difficult to
> read for a
> > > translator: 
> > > >> section moves, whitespace & content
> changes,
> > > etc. It will be
> > > >> important to commit in separate parts:
> for example:
> > > 1st section 
> > > >> moves/removals, 2nd addition &
> content changes
> > > and 3rd 
> > > >> whitespace/indentation changes;
> > > >> 
> > > >> - you removed the prerequisite of knowing
> how to
> > > use ports, I
> > > >> think it's important to know how to get a
> ports
> > > tree before using
> > > >> the ports;
> > > >> 
> > > >> - you removed the way to get a localized
> keyboard
> > > for people not
> > > >> using a desktop manager.  Well this
> > > configuration is not easy to
> > > >> guess for a newcomer.  Maybe it can be
> kept
> > > somewhere in the 
> > > >> chapter.
> > > >> 
> > > >> - What is # in Crtl+Alt+F#?


Attached is a cleaned up diff. I've re-added the pre-requisite and fixed the Crtl+Alt+F#. Marc, can you double-check that the localization text you are looking for is incorporated into 6.8.2? If that is not it, please quote me some of the missing text so I can re-add it.

Cheers,

Dru
[-- Attachment #2 --]
Index: x11/chapter.xml
===================================================================
--- x11/chapter.xml	(revision 40654)
+++ x11/chapter.xml	(working copy)
@@ -17,55 +17,66 @@
 	<firstname>Marc</firstname>
 	<surname>Fonvieille</surname>
       </author>
+      <author>
+	<firstname>Dru</firstname>
+	<surname>Lavigne</surname>
+	<contrib>Updated for 9.x by </contrib>
+      </author>
     </authorgroup>
   </chapterinfo>
 
   <title>The X Window System</title>
 
-  <sect1 id="x11-synopsis">
-    <title>Synopsis</title>
+  <sect1>
+    <title>Introduction</title>
 
-    <para>FreeBSD uses X11 to provide users with
-      a powerful graphical user interface.  X11
-      is a freely available version of the X Window System that
-      is implemented in <application>&xorg;</application>
-      (and other software packages not discussed here).  The
-      default and official flavor of X11 in &os; is
-      <application>&xorg;</application>, the X11 server developed by
-      the X.Org Foundation under a license very similar to the one
-      used by &os;.  Commercial X servers for &os; are also
-      available.</para>
+    <para>An installation of &os; using
+      <application>bsdinstall</application> does not
+      automatically install a graphical user interface.  This chapter
+      describes how to install and configure
+      <application>&xorg;</application>, which provides the X Window
+      System needed to provide a graphical environment.  It then
+      describes how to find and install a desktop environment
+      or window manager.</para>
 
-    <para>For more information on the video hardware that X11
-      supports, check the <ulink
-      url="http://www.x.org/">&xorg;</ulink>; web site.</para>
+    <note>
+      <para>FreeBSD users looking for an installation method that
+	automatically configures the X Window System and offers a
+	choice of window managers during installation should take a
+	look at <ulink
+	url="http://www.pcbsd.org/">PC-BSD.</ulink></para>;
+    </note>
 
     <para>After reading this chapter, you will know:</para>
 
     <itemizedlist>
       <listitem>
-	<para>The various components of the X Window System, and how
-	  they interoperate.</para>
+	<para>The terms associated with the X Window System.</para>
       </listitem>
 
       <listitem>
-	<para>How to install and configure X11.</para>
+	<para>How to install and configure
+	  <application>Xorg</application>.</para>
       </listitem>
 
       <listitem>
-	<para>How to install and use different window managers.</para>
+	<para>How to install and configure a desktop
+	  environment.</para>
       </listitem>
 
       <listitem>
-	<para>How to use &truetype; fonts in X11.</para>
+	<para>How to configure a display manager.</para>
       </listitem>
 
       <listitem>
-	<para>How to set up your system for graphical logins
-	  (<application>XDM</application>).</para>
+	<para>How to configure fonts.</para>
       </listitem>
+
+      <listitem>
+	<para>How to troubleshoot the <application>Xorg</application>
+	  configuration.</para>
+      </listitem>
     </itemizedlist>
-
     <para>Before reading this chapter, you should:</para>
 
     <itemizedlist>
@@ -76,258 +87,65 @@
     </itemizedlist>
   </sect1>
 
-  <sect1 id="x-understanding">
-    <title>Understanding X</title>
+  <sect1>
+    <title>Terminology</title>
 
-    <para>Using X for the first time can be somewhat of a shock to
-      someone familiar with other graphical environments, such as
-      &microsoft.windows; or &macos;.</para>
+    <para>The X Window System is designed as a network protocol
+      and uses a client-server model.  The
+      <quote>X server</quote> runs on the computer that has the
+      keyboard, monitor, and mouse attached.  The X server is
+      responsible for managing the display and for handling input
+      from the keyboard, mouse, or other input devices such as a
+      video projector.  The <quote>X client</quote> is a running
+      application such as an <application>XTerm</application> or
+      <application>firefox</application>.  An X client sends
+      messages to the X server such as <quote>Please draw a window
+      at these coordinates</quote>, and the server sends back
+      messages such as <quote>The user just clicked on the OK
+      button.</quote></para>
 
-    <para>While it is not necessary to understand all of the details
-      of various X components and how they interact, some basic
-      knowledge makes it possible to take advantage of X's
-      strengths.</para>
+    <para>Typically, the X server and the X clients run on the same
+      computer.  However, it is possible to run the X server on a
+      less powerful computer, and run the X clients on a more
+      powerful system.  In this scenario, the communication between
+      the X client and server takes place over the network.</para>
 
-    <sect2>
-      <title>Why X?</title>
+    <para>A <quote>window manager</quote> controls the placement
+      and appearance of windows within the graphical environment.
+      There are over a hundred different window managers available
+      within the <filename>x11-wm</filename> category of the &os;
+      Ports Collection.  Each window manager provides a different
+      look and feel.  Some support virtual desktops, customized
+      keystrokes to manage the desktop, or themes.</para>
 
-      <para>X is not the first window system written for &unix;, but
-	it is the most popular of them.  X's original development team
-	had worked on another window system prior to writing X.  That
-	system's name was <quote>W</quote> (for
-	<quote>Window</quote>).  X was just the next letter in the
-	Roman alphabet.</para>
+    <para>A <quote>desktop environment</quote> is a window
+      manager that provides its own suite of applications.
+      Applications can include configuration utilities, editors,
+      games, web browsers, and file managers.
+      <application>KDE</application> and
+      <application>GNOME</application> are considered to be desktop
+      environments.</para>
 
-      <para>X can be called <quote>X</quote>, <quote>X Window
-	System</quote>, <quote>X11</quote>, and a number of other
-	terms.  You may find that using the term <quote>X
-	Windows</quote> to describe X11 can be offensive to some
-	people; for a bit more insight on this, see &man.X.7;.</para>
-    </sect2>
+    <para>The <quote>focus policy</quote> determines which window
+      receives user input.  For example, a
+      <quote>click-to-focus</quote> policy will activate a window
+      when it is clicked. The window manager enforces the focus
+      policy and different window managers support different focus
+      methods.  All window managers support click-to-focus, and most
+      window managers support several types of focus methods.</para>
 
-    <sect2>
-      <title>The X Client/Server Model</title>
-
-      <para>X was designed from the beginning to be network-centric,
-	and adopts a <quote>client-server</quote> model.</para>
-
-      <para>In the X model, the
-	<quote>X server</quote> runs on the computer that has the
-	keyboard, monitor, and mouse attached.  The server's
-	responsibility includes tasks such as managing the
-	display, handling input from the keyboard and mouse, and
-	other input or output devices (i.e., a <quote>tablet</quote>
-	can be used as an input device, and a video projector
-	may be an alternative output device).  Each X application
-	(such as <application>XTerm</application>, or
-	<application>&netscape;</application>) is a
-	<quote>client</quote>. A client sends messages to the server
-	such as <quote>Please draw a window at these
-	coordinates</quote>, and the server sends back messages such
-	as <quote>The user just clicked on the OK
-	button</quote>.</para>
-
-      <para>In a home or small office environment, the X server and
-	the X clients commonly run on the same computer.  However, it
-	is perfectly possible to run the X server on a less powerful
-	desktop computer, and run X applications (the clients) on,
-	say, the powerful and expensive machine that serves the
-	office.  In this scenario the communication between the X
-	client and server takes place over the network.</para>
-
-      <para>This confuses some people, because the X terminology is
-	exactly backward to what they expect.  They expect the
-	<quote>X server</quote> to be the big powerful machine down
-	the hall, and the <quote>X client</quote> to be the machine
-	on their desk.</para>
-
-      <para>It is important to remember that the X server is the
-	machine with the monitor and keyboard, and the X clients are
-	the programs that display the windows.</para>
-
-      <para>There is nothing in the protocol that forces the client
-	and server machines to be running the same operating system,
-	or even to be running on the same type of computer.  It is
-	certainly possible to run an X server on &microsoft.windows;
-	or Apple's &macos;, and there are various free and commercial
-	applications available that do exactly that.</para>
-    </sect2>
-
-    <sect2>
-      <title>The Window Manager</title>
-
-      <para>The X design philosophy is much like the &unix; design
-	philosophy, <quote>tools, not policy</quote>.  This means
-	that X does not try to dictate how a task is to be
-	accomplished.  Instead, tools are provided to the user, and
-	it is the user's responsibility to decide how to use those
-	tools.</para>
-
-      <para>This philosophy extends to X not dictating what windows
-	should look like on screen, how to move them around with the
-	mouse, what keystrokes should be used to move between windows
-	(i.e.,
-	<keycombo action="simul">
-	  <keycap>Alt</keycap>
-	  <keycap>Tab</keycap>
-	</keycombo>, in the case of &microsoft.windows;), what the
-	title bars on each window should look like, whether or not
-	they have close buttons on them, and so on.</para>
-
-      <para>Instead, X delegates this responsibility to an
-	application called a <quote>Window Manager</quote>.  There
-	are dozens of window managers available for X:
-	<application>AfterStep</application>,
-	<application>Blackbox</application>,
-	<application>ctwm</application>,
-	<application>Enlightenment</application>,
-	<application>fvwm</application>,
-	<application>Sawfish</application>,
-	<application>twm</application>,
-	<application>Window Maker</application>, and more.  Each of
-	these window managers provides a different look and feel;
-	some of them support <quote>virtual desktops</quote>; some
-	of them allow customized keystrokes to manage the desktop;
-	some have a <quote>Start</quote> button or similar device;
-	some are <quote>themeable</quote>, allowing a complete change
-	of look-and-feel by applying a new theme.  These window
-	managers, and many more, are available in the
-	<filename>x11-wm</filename> category of the Ports
-	Collection.</para>
-
-      <para>In addition, the <application>KDE</application> and
-	<application>GNOME</application> desktop environments both
-	have their own window managers which integrate with the
-	desktop.</para>
-
-      <para>Each window manager also has a different configuration
-	mechanism; some expect configuration file written by hand,
-	others feature GUI tools for most of the configuration tasks;
-	at least one (<application>Sawfish</application>) has a
-	configuration file written in a dialect of the Lisp
-	language.</para>
-
-      <note>
-	<title>Focus Policy</title>
-
-	<para>Another feature the window manager is responsible for
-	  is the mouse <quote>focus policy</quote>.  Every windowing
-	  system needs some means of choosing a window to be actively
-	  receiving keystrokes, and should visibly indicate which
-	  window is active as well.</para>
-
-	<para>A familiar focus policy is called
-	  <quote>click-to-focus</quote>. This is the model utilized
-	  by &microsoft.windows;, in which a window becomes active
-	  upon receiving a mouse click.</para>
-
-	<para>X does not support any particular focus policy.
-	  Instead, the window manager controls which window has the
-	  focus at any one time.  Different window managers will
-	  support different focus methods.  All of them support
-	  click to focus, and the majority of them support several
-	  others.</para>
-
-	<para>The most popular focus policies are:</para>
-
-	<variablelist>
-	  <varlistentry>
-	    <term>focus-follows-mouse</term>
-
-	    <listitem>
-	      <para>The window that is under the mouse pointer is
-		the window that has the focus.  This may not
-		necessarily be the window that is on top of all the
-		other windows.  The focus is changed by pointing at
-		another window, there is no need to click in it as
-		well.</para>
-	    </listitem>
-	  </varlistentry>
-
-	  <varlistentry>
-	    <term>sloppy-focus</term>
-
-	    <listitem>
-	      <para>This policy is a small extension to
-		focus-follows-mouse.  With focus-follows-mouse, if
-		the mouse is moved over the root window (or
-		background) then no window has the focus, and
-		keystrokes are simply lost.  With sloppy-focus, focus
-		is only changed when the cursor enters a new
-		window, and not when exiting the current
-		window.</para>
-	    </listitem>
-	  </varlistentry>
-
-	  <varlistentry>
-	    <term>click-to-focus</term>
-
-	    <listitem>
-	      <para>The active window is selected by mouse click.
-		The window may then be <quote>raised</quote>, and
-		appear in front of all other windows.  All keystrokes
-		will now be directed to this window, even if the
-		cursor is moved to another window.</para>
-	    </listitem>
-	  </varlistentry>
-	</variablelist>
-
-	<para>Many window managers support other policies, as well
-	  as variations on these.  Be sure to consult the
-	  documentation for the window manager itself.</para>
-      </note>
-    </sect2>
-
-    <sect2>
-      <title>Widgets</title>
-
-      <para>The X approach of providing tools and not policy
-	extends to the widgets seen on screen in each
-	application.</para>
-
-      <para><quote>Widget</quote> is a term for all the items in
-	the user interface that can be clicked or manipulated in
-	some way; buttons, check boxes, radio buttons, icons, lists,
-	and so on.  &microsoft.windows; calls these
-	<quote>controls</quote>.</para>
-
-      <para>&microsoft.windows; and Apple's &macos; both have a
-	very rigid widget policy.  Application developers are
-	supposed to ensure that their applications share a common
-	look and feel.  With X, it was not considered sensible to
-	mandate a particular graphical style, or set of widgets to
-	adhere to.</para>
-
-      <para>As a result, do not expect X applications to have a
-	common look and feel.  There are several popular widget sets
-	and variations, including the original Athena widget set from
-	MIT, <application>&motif;</application> (on which the widget
-	set in &microsoft.windows; was modeled, all bevelled edges and
-	three shades of grey), <application>OpenLook</application>,
-	and others.</para>
-
-      <para>Most newer X applications today will use a
-	modern-looking widget set, either Qt, used by
-	<application>KDE</application>, or GTK+, used by the
-	<application>GNOME</application> project.  In this respect,
-	there is some convergence in look-and-feel of the &unix;
-	desktop, which certainly makes things easier for the novice
-	user.</para>
-    </sect2>
+    <para><quote>Widget set</quote> is a term representing all of
+      the items in the graphical interface that can be clicked or
+      manipulated in some way, such as check boxes, radio buttons,
+      and icons.  Different window managers use different widget
+      sets.  Examples of widget sets include Qt, used by
+      <application>KDE</application>, and GTK+, used by
+      <application>GNOME</application>.</para>
   </sect1>
 
   <sect1 id="x-install">
-    <title>Installing X11</title>
+    <title>Installing Xorg</title>
 
-    <para><application>&xorg;</application> is the default X11
-      implementation for &os;.  <application>&xorg;</application>
-      is the X server of the open source X Window System
-      implementation released by the X.Org Foundation.
-      <application>&xorg;</application> is based on the code of
-      <application>&xfree86;&nbsp;4.4RC2</application> and X11R6.6.
-      The version of <application>&xorg;</application> currently
-      available in the &os; Ports Collection is &xorg.version;.</para>
-
     <para>To build and install <application>&xorg;</application>
       from the Ports Collection:</para>
 
@@ -340,33 +158,16 @@
 	available.</para>
     </note>
 
-    <para>Alternatively, X11
-      can be installed directly from packages.
-      Binary packages to use with &man.pkg.add.1; tool are also
-      available for X11.  When the remote fetching feature of
-      &man.pkg.add.1; is used, the version number of the package
-      must be removed.  &man.pkg.add.1; will automatically fetch
-      the latest version of the application.</para>
+    <para>Alternatively, to install the complete
+      <application>&xorg;</application> binary package which
+      includes all of the X servers, clients, and fonts:</para>
 
-    <para>So to fetch and install the package of
-      <application>&xorg;</application>, simply type:</para>
-
     <screen>&prompt.root; <userinput>pkg_add -r xorg</userinput></screen>
 
-    <note><para>The examples above will install the complete
-      X11 distribution including the
-      servers, clients, fonts etc.  Separate packages and ports of X11
-      are also
-      available.</para>
-
-    <para>To install a minimal X11 distribution you can
-      alternatively install
-      <filename role="package">x11/xorg-minimal</filename>.</para>
-    </note>
-
-    <para>The rest of this chapter will explain how to configure
-      X11, and how to set up a productive desktop
-      environment.</para>
+    <para>To instead install a minimal
+      <application>&xorg;</application> distribution, use the
+      <filename role="package">x11/xorg-minimal</filename> port or
+      package.</para>
   </sect1>
 
   <sect1 id="x-config">
@@ -380,123 +181,92 @@
 	</author>
       </authorgroup>
     </sect1info>
-    <title>X11 Configuration</title>
+    <title>Xorg Configuration</title>
 
-
     <indexterm><primary>&xorg;</primary></indexterm>
     <indexterm><primary>X11</primary></indexterm>
 
-    <sect2>
-      <title>Before Starting</title>
+    <para>Xorg is often self-configuring.  However, depending upon
+      the video hardware and the support provided by its driver, it
+      may or may not be possible to configure optimal resolution for
+      the hardware.  At this time, driver support is as
+      follows:</para>
 
-      <para>In most cases, X11 is self-configuring.  Those with older
-	or unusual equipment may find it helpful to gather some
-	hardware information before beginning configuration.</para>
+    <itemizedlist>
+      <listitem>
+	<para>NVIDIA: several NVIDIA drivers are
+	  available in the <filename>x11</filename> category of the
+	  &os; Ports Collection.  Install the driver that matches the
+	  model of the NVIDIA hardware.</para>
+      </listitem>
+      <listitem>
+	<para>Intel: as of &os; 9.1, 3D acceleration on
+	  most Intel graphics, including IronLake, SandyBridge,
+	  and IvyBridge, is supported. Due to the current KMS
+	  implementation, it is not possible to switch between the
+	  graphical console and a virtual console using
+	  <keycap>Ctrl</keycap>
+	  <keycap>Alt</keycap>
+	  <keycap>F<replaceable>n</replaceable></keycap></para>
+      </listitem>
+      <listitem>
+	<para>ATI/Radeon: 3D acceleration will not work on
+	  ATI or Radeon cards until &os; completes its TTM work.
+	  These cards will need to be configured with the 2D driver,
+	  and if that does not work, with the Vesa
+	  driver.</para>
+      </listitem>
+      <listitem>
+	<para>Optimus: currently there is no switching
+	  support between the two graphics adapters provided by
+	  Optimus.  Optimus implementations vary, so &os; may or may
+	  not be able to successfully load a graphics driver on all
+	  hardware.  If you get a blank screen, check if the BIOS has
+	  an option to disable one of the graphics adapters or to set
+	  <quote>discrete</quote> mode.</para>
+      </listitem>
+    </itemizedlist>
 
-      <itemizedlist>
-	<listitem><para>Monitor sync frequencies</para></listitem>
-	<listitem><para>Video card chipset</para></listitem>
-	<listitem><para>Video card memory</para></listitem>
-      </itemizedlist>
+    <para>The video card chipset should be autodetected and used to
+      select the proper video driver.  It is beneficial for the user
+      to be aware of which chipset is installed should
+      autodetection not provide the desired result.  Additionally,
+      video card memory and the driver determine the maximum
+      resolution and color depth which can be displayed.</para>
 
-      <indexterm>
-	<primary>horizontal sync frequency</primary>
-      </indexterm>
-      <indexterm>
-	<primary>horizontal scan rate</primary>
-	<see>horizontal sync frequency</see>
-      </indexterm>
-      <indexterm><primary>refresh rate</primary></indexterm>
-      <indexterm>
-	<primary>vertical sync frequency</primary>
-	<see>refresh rate</see>
-      </indexterm>
-      <indexterm>
-	<primary>vertical scan rate</primary>
-	<see>refresh rate</see>
-      </indexterm>
+    <para><application>&xorg;</application>
+      uses <acronym>HAL</acronym> to autodetect keyboards and mice.
+      The <filename role="package">sysutils/hal</filename> and
+      <filename role="package">devel/dbus</filename> ports are
+      installed as dependencies of <filename
+      role="package">x11/xorg</filename>, but must be enabled by
+      adding these entries to
+      <filename>/etc/rc.conf</filename>:</para>
 
-      <para>Screen resolution and refresh rate are determined by the
-	monitor's horizontal and vertical sync frequencies.  Almost
-	all monitors support electronic autodetection of these values.
-	A few monitors do not provide these values, and the
-	specifications must be determined from the printed manual
-	or manufacturer web site.</para>
-
-      <para>The video card chipset is also autodetected, and used to
-	select the proper video driver.  It is beneficial for the user
-	to be aware of which chipset is installed for when
-	autodetection does not provide the desired result.</para>
-
-      <para>Video card memory determines the maximum resolution and
-	color depth which can be displayed.</para>
-    </sect2>
-
-    <sect2>
-      <title>Configuring X11</title>
-
-      <para><application>&xorg;</application>
-	uses <acronym>HAL</acronym> to autodetect keyboards and mice.
-	The <filename role="package">sysutils/hal</filename> and
-	<filename role="package">devel/dbus</filename> ports are
-	installed as dependencies of <filename
-	role="package">x11/xorg</filename>, but must be enabled by
-	the following entries in the
-	<filename>/etc/rc.conf</filename> file:</para>
-
       <programlisting>hald_enable="YES"
 dbus_enable="YES"</programlisting>
 
-      <para>These services should be started (either manually or by
-	rebooting) before further <application>&xorg;</application>
-	configuration or use is attempted.</para>
+    <para>These services should be started before attempting
+      <application>&xorg;</application>
+      configuration:</para>
 
-      <para><application>&xorg;</application> can
-	often work without any further configuration steps by
-	simply typing at prompt:</para>
+    <screen>&prompt.root; <userinput>service hald start</userinput>
+&prompt.root; <userinput>service dbus start</userinput></screen>
 
-      <screen>&prompt.user; <userinput>startx</userinput></screen>
+    <para>Once these services are started, check if
+      <application>&xorg;</application> auto-configures itself by
+      typing:</para>
 
-      <para>The automatic configuration may fail to work with some
-	hardware, or may not set things up quite as desired.  In
-	these cases, manual configuration will be necessary.</para>
+    <screen>&prompt.root; <userinput>Xorg -configure</userinput></screen>
 
-      <note>
-	<para>Desktop environments like
-	  <application>GNOME</application>,
-	  <application>KDE</application> or
-	  <application>Xfce</application> have tools allowing the user
-	  to easily set the screen parameters such as the resolution.
-	  So if the default configuration is not acceptable and you
-	  planned to install a desktop environment then just continue
-	  with the installation of the desktop environment and use the
-	  appropriate screen settings tool.</para>
-      </note>
-
-      <para>Configuration of X11 is a multi-step process.  The first
-	step is to build an initial configuration file.  As the super
-	user, simply run:</para>
-
-      <screen>&prompt.root; <userinput>Xorg -configure</userinput></screen>
-
-      <para>This will generate an
-	X11 configuration skeleton file in the
+      <para>This will generate a configuration file in the
 	<filename>/root</filename> directory called
-	<filename>xorg.conf.new</filename> (whether you &man.su.1; or
-	do a direct login affects the inherited supervisor
-	<envar>$HOME</envar> directory variable).  The
-	X11 program will attempt to probe
-	the graphics hardware on the system and write a
-	configuration file to load the proper drivers for the detected
-	hardware on the target system.</para>
+	<filename>xorg.conf.new</filename>. Next, test that the
+	automatically generated configuration file works with the
+	graphics hardware by typing:</para>
 
-      <para>The next step is to test the existing
-	configuration to verify that <application>&xorg;</application>
-	can work with the graphics
-	hardware on the target system.  Type:</para>
+      <screen>&prompt.root; <userinput>Xorg -config /root/xorg.conf.new </userinput></screen>
 
-      <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new -retro</userinput></screen>
-
       <para>If a black and grey grid and an X mouse cursor appear,
 	the configuration was successful.  To exit the test, switch
 	to the virtual console used to start it by pressing
@@ -552,407 +322,492 @@
 	<programlisting>Option	"DontZap"	"off"</programlisting>
       </note>
 
-	<para>If the mouse does not work, you will need to first
-	  configure it before proceeding.  See <xref linkend="mouse"/>
-	  in the &os; install chapter.  In recent
-	  <application>Xorg</application> versions,
-	  the <literal>InputDevice</literal> sections in
-	  <filename>xorg.conf</filename> are ignored in favor of the
-	  autodetected devices.  To restore the old behavior, add the
-	  following line to the <literal>ServerLayout</literal> or
-	  <literal>ServerFlags</literal> section of this file:</para>
+      <para>If the test is unsuccessful, skip ahead to the
+	<link linkend="x11-understanding">troubleshooting
+	section</link>. Once the test is successful, copy the
+	configuration file to
+	<filename>/etc/X11/xorg.conf</filename>:</para>
 
-	  <programlisting>Option "AutoAddDevices" "false"</programlisting>
+      <screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen>
 
-	  <para>Input devices may then be configured as in previous
-	    versions, along with any other options needed (e.g.,
-	    keyboard layout switching).</para>
+      <para> The next step is to install a window manager or desktop
+	environment as described in the next section.</para>
+    </sect1>
 
-      <note>
-	<para>As previously explained
-	  the <application>hald</application> daemon will, by default,
-	  automatically detect your keyboard.  There are chances that
-	  your keyboard layout or model will not be correct, desktop
-	  environments like <application>GNOME</application>,
-	  <application>KDE</application> or
-	  <application>Xfce</application> provide tools to configure
-	  the keyboard.  However, it is possible to set the keyboard
-	  properties directly either with the help of the
-	  &man.setxkbmap.1; utility or with a
-	  <application>hald</application>'s configuration rule.</para>
+    <sect1 id="x11-wm">
+      <sect1info>
+	<authorgroup>
+	  <author>
+	    <firstname>Valentino</firstname>
+	    <surname>Vaschetto</surname>
+	    <contrib>Contributed by </contrib>
+	  </author>
+	  <!-- June 2001 -->
+	</authorgroup>
+      </sect1info>
 
-	<para>For example if one wants to use a PC 102 keys keyboard
-	  coming with a french layout, we have to create a keyboard
-	  configuration file for <application>hald</application>
-	  called <filename>x11-input.fdi</filename> and saved in the
-	  <filename
-	  class="directory">/usr/local/etc/hal/fdi/policy</filename>
-	  directory.  This file should contain the following
-	  lines:</para>
+    <title>Installing a Desktop Environment</title>
 
-	<programlisting>&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
-&lt;deviceinfo version="0.2"&gt;
-  &lt;device&gt;
-    &lt;match key="info.capabilities" contains="input.keyboard"&gt;
-	  &lt;merge key="input.x11_options.XkbModel" type="string"&gt;pc102&lt;/merge&gt;
-	  &lt;merge key="input.x11_options.XkbLayout" type="string"&gt;fr&lt;/merge&gt;
-    &lt;/match&gt;
-  &lt;/device&gt;
-&lt;/deviceinfo&gt;</programlisting>
+    <para>This section describes how to install some of the available
+      desktop environments on &os;.  The next section will
+      demonstrate how to start an installed desktop environment or
+      window manager using a display manager.</para>
 
-	<para>If this file already exists, just copy and add to your
-	  file the lines regarding the keyboard configuration.</para>
+    <sect2 id="x11-wm-gnome">
+      <title>GNOME</title>
 
-	<para>You will have to reboot your machine to force
-	  <application>hald</application> to read this file.</para>
+      <indexterm><primary>GNOME</primary></indexterm>
+      <para><application>GNOME</application> is an easy-to-use
+	desktop environment which includes a panel for starting
+	applications, a desktop where data and applications can be
+	placed, and a set of standard desktop tools and
+	applications.  Two versions of GNOME are available, GNOME2
+	and GNOME3, and the user interface differs significantly
+	between the two versions.  GNOME2 is available for &os; and
+	GNOME3 is currently being ported to &os;.  More information
+	about installing, configuring, and managing
+	<application>GNOME</application> and the status of the
+	GNOME3 porting project can be found at the web site of the
+	<ulink url="http://www.FreeBSD.org/gnome">&os; GNOME
+	Project.</ulink></para>
 
-	<para>It is possible to do the same configuration from an X
-	  terminal or a script with this command line:</para>
+      <para>To install the <application>GNOME</application>
+	binary package, type:</para>
 
-	<screen>&prompt.user; <userinput>setxkbmap -model pc102 -layout fr</userinput></screen>
+      <screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen>
 
-	<para>The
-	  <filename>/usr/local/share/X11/xkb/rules/base.lst</filename>
-	  file lists the various keyboard, layouts and options
-	  available.</para>
-      </note>
+	<para>Alternately, to build the
+	  <application>GNOME</application> port:</para>
 
-      <indexterm><primary>X11 tuning</primary></indexterm>
+	<screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput>
+&prompt.root; <userinput>make install clean</userinput></screen>
 
-      <para>The <filename>xorg.conf.new</filename>
-	configuration file may now be tuned to taste.  Open the
-	file in a text editor such as &man.emacs.1; or &man.ee.1;.
-	If the monitor is an older or unusual model that does not
-	support autodetection of sync frequencies, those settings
-	can be added to <filename>xorg.conf.new</filename>
-	under the <literal>"Monitor"</literal> section:</para>
+	<para><application>GNOME</application>
+	  requires the <filename>/proc</filename> filesystem to be
+	  mounted. Add this line to <filename>/etc/fstab</filename>
+	  to mount &man.procfs.5; automatically during system
+	  boot:</para>
 
-      <programlisting>Section "Monitor"
-	Identifier   "Monitor0"
-	VendorName   "Monitor Vendor"
-	ModelName    "Monitor Model"
-	HorizSync    30-107
-	VertRefresh  48-120
-EndSection</programlisting>
+	<programlisting>proc      /proc     procfs  rw  0 0</programlisting>
 
-      <para>Most monitors support sync frequency autodetection,
-	making manual entry of these values unnecessary.  For the
-	few monitors that do not support autodetection, avoid
-	potential damage by only entering values provided by the
-	manufacturer.</para>
+	<para>To mount <filename>/proc</filename> without rebooting,
+	  type:</para>
 
-      <para>X allows DPMS (Energy Star) features to be used with
-	capable monitors.  The &man.xset.1; program controls the
-	time-outs and can force standby, suspend, or off modes.  If
-	you wish to enable DPMS features for your monitor, you must
-	add the following line to the monitor section:</para>
+<screen>&prompt.root; <userinput>mount -t procfs proc /proc</userinput></screen>
+    </sect2>
 
-      <programlisting>Option       "DPMS"</programlisting>
+    <sect2 id="x11-wm-kde">
+      <title>KDE</title>
 
-      <indexterm>
-	<primary><filename>xorg.conf</filename></primary>
-      </indexterm>
+      <indexterm><primary>KDE</primary></indexterm>
 
-      <para>While the <filename>xorg.conf.new</filename>
-	configuration file is still open in an editor, select
-	the default resolution and color depth desired.  This is
-	defined in the <literal>"Screen"</literal> section:</para>
+      <para><application>KDE</application> is an easy-to-use
+	desktop environment which includes an integrated help
+	system, internationalization, centralized desktop
+	configuration utilities, and a web browser called
+	<application>Konqueror</application>.  More information on
+	<application>KDE</application> can be found at the <ulink
+	url="http://www.kde.org/">KDE website</ulink>.  &os;
+	specific information and resources can be found at the
+	<ulink url="http://freebsd.kde.org/">KDE/&os;
+	initiative</ulink> website.</para>
 
-      <programlisting>Section "Screen"
-	Identifier "Screen0"
-	Device     "Card0"
-	Monitor    "Monitor0"
-	DefaultDepth 24
-	SubSection "Display"
-		Viewport  0 0
-		Depth     24
-		Modes     "1024x768"
-	EndSubSection
-EndSection</programlisting>
+      <para>Two versions of <application>KDE</application> are
+	available for &os;.  While version 3 is still available, it
+	is unmaintained and partially broken.  Version 4 is the
+	recommended choice as it is punctually updated.  KDE4
+	is the version that is discussed in this section.</para>
 
-      <para>The <literal>DefaultDepth</literal> keyword describes
-	the color depth to run at by default.  This can be overridden
-	with the <option>-depth</option> command line switch to
-	&man.Xorg.1;.
-	The <literal>Modes</literal> keyword
-	describes the resolution to run at for the given color depth.
-	Note that only VESA standard modes are supported as defined by
-	the target system's graphics hardware.
-	In the example above, the default color depth is twenty-four
-	bits per pixel.  At this color depth, the accepted
-	resolution is 1024 by 768 pixels.</para>
+      <para>To install the <application>KDE 4</application>
+	binary package, type:</para>
 
-      <para>Finally, write the configuration file and test it using
-	the test mode given above.</para>
+	<screen>&prompt.root; <userinput>pkg_add -r kde4</userinput></screen>
 
-      <note>
-	<para>One of the tools available to assist you during
-	  troubleshooting process are the X11 log files, which
-	  contain information on each device that the X11 server
-	  attaches to.  <application>&xorg;</application> log file
-	  names are in the format of
-	  <filename>/var/log/Xorg.0.log</filename>.  The exact name
-	  of the log can vary from <filename>Xorg.0.log</filename>
-	  to <filename>Xorg.8.log</filename> and so forth.</para>
-      </note>
+      <para>To instead build <application>KDE 4</application> from
+	ports, type:</para>
 
-      <para>If all is well, the configuration
-	file needs to be installed in a common location where
-	&man.Xorg.1; can find it.
-	This is typically <filename>/etc/X11/xorg.conf</filename> or
-	<filename>/usr/local/etc/X11/xorg.conf</filename>.</para>
+      <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde4</userinput>
+&prompt.root; <userinput>make install clean</userinput></screen>
+    </sect2>
 
-      <screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen>
+    <sect2 id="x11-wm-xfce">
+      <title>Xfce</title>
 
-      <para>The X11 configuration process is now
-	complete.  <application>&xorg;</application> may be now
-	started with the &man.startx.1; utility.
-	The X11 server may also be started with the use of
-	&man.xdm.1;.</para>
+      <para><application>Xfce</application> is a lightweight desktop
+	environment meant for those with older hardware or who want
+	a simple, efficient desktop which is easy to use and
+	configure.  Some of <application>Xfce</application>'s
+	features include a main panel with menus, applets and
+	application launchers, a file manager, and a sound manager.
+	More information on <application>Xfce</application>
+	can be found on the <ulink url="http://www.xfce.org/">Xfce
+	website</ulink>.</para>
+
+      <para>To install the <application>Xfce</application> binary
+	package, type:</para>
+
+	<screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen>
+
+      <para>Alternatively, to build the port:</para>
+
+	<screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput>
+&prompt.root; <userinput>make install clean</userinput></screen>
     </sect2>
+  </sect1>
 
+  <sect1 id="x-xdm">
+    <sect1info>
+      <authorgroup>
+	<author>
+	  <firstname>Seth</firstname>
+	  <surname>Kingsley</surname>
+	  <contrib>Contributed by </contrib>
+	</author>
+      </authorgroup>
+    </sect1info>
+    <title>Display Managers</title>
+
+    <para>Several display managers are available for &os;.  A
+      Display manager provides a graphical login screen and
+      automatically loads a window manager once the user successfully
+      inputs their username and password.</para>
+
+    <para>This section demonstrates how to configure the Gnome
+      Display Manager (GDM), KDE Display Manager (KDM), and X Display
+      Manager (XDM).  It also describes how a user can manually start
+      their preferred window manager using
+      <application>startx</application>.</para>
+
     <sect2>
-      <title>Advanced Configuration Topics</title>
+      <title>GDM</title>
 
-      <sect3>
-	<title>Configuration with &intel; <literal>i810</literal>
-	  Graphics Chipsets</title>
+      <para>The GNOME Display Manager (<application>GDM</application>)
+	is installed as part of the <application>GNOME</application>
+	desktop, although it is disabled by default.  It can be
+	configured to start at system boot by adding this line to
+	<filename>/etc/rc.conf</filename>:</para>
 
-	<indexterm><primary>Intel i810 graphic chipset</primary></indexterm>
+	<programlisting>gdm_enable="YES"</programlisting>
 
-	<para>Configuration with &intel; i810 integrated chipsets
-	  requires the <devicename>agpgart</devicename>
-	  AGP programming interface for X11
-	  to drive the card.  See the &man.agp.4; driver manual page
-	  for more information.</para>
+      <para>To start the service now, type:</para>
 
-	<para>This will allow configuration of the hardware as any
-	  other graphics board.  Note on systems without the
-	  &man.agp.4; driver compiled in the kernel, trying to load
-	  the module with &man.kldload.8; will not work.  This
-	  driver has to be in the kernel at boot time through being
-	  compiled in or using
-	  <filename>/boot/loader.conf</filename>.</para>
-      </sect3>
+      <screen>&prompt.root; <userinput>service gdm start</userinput></screen>
 
-      <sect3>
-	<title>Adding a Widescreen Flatpanel to the Mix</title>
+      <para>It is often desirable to start all
+	<application>GNOME</application> services together with
+	<application>GDM</application>.  To achieve this, add the
+	following line to <filename>/etc/rc.conf</filename>:</para>
 
-	<indexterm><primary>widescreen flatpanel configuration</primary></indexterm>
+	<programlisting>gnome_enable="YES"</programlisting>
+    </sect2>
+    <sect2>
+      <title>KDM</title>
 
-	<para>This section assumes a bit of advanced configuration
-	  knowledge.  If attempts to use the standard configuration
-	  tools above have not resulted in a working configuration,
-	  there is information enough in the log files to be of use
-	  in getting the setup working.  Use of a text editor will
-	  be necessary.</para>
+      <indexterm><primary>KDE</primary>
+	<secondary>display manager</secondary></indexterm>
+      <para>The installation of <application>KDE</application>
+	includes the <application>KDM</application> login manager.
+	In addition to starting <application>KDE</application>,
+	<application>KDM</application> can be configured to start
+	other installed window managers.  During login, users can
+	choose which window manager to log into.</para>
 
-	<para>Current widescreen (WSXGA, WSXGA+, WUXGA, WXGA,
-	  WXGA+, et.al.) formats support 16:10 and 10:9 formats or
-	  aspect ratios that can be problematic.  Examples of some
-	  common screen resolutions for 16:10 aspect ratios
-	  are:</para>
+      <para>To configure <application>KDM</application>, mount
+	&man.procfs.5; then add the following line to
+	<filename>/etc/rc.conf</filename>: MORE CONFIGURATION
+	NEEDED?</para>
 
-	<itemizedlist>
-	  <listitem><para>2560x1600</para></listitem>
-	  <listitem><para>1920x1200</para></listitem>
-	  <listitem><para>1680x1050</para></listitem>
-	  <listitem><para>1440x900</para></listitem>
-	  <listitem><para>1280x800</para></listitem>
-	</itemizedlist>
+	<programlisting>kdm4_enable="YES"</programlisting>
+    </sect2>
+    <sect2>
+      <title>XDM</title>
 
-	<para>At some point, it will be as easy as adding one of these
-	  resolutions as a possible <literal>Mode</literal> in the
-	  <literal>Section "Screen"</literal> as such:</para>
+      <indexterm><primary>X Display Manager</primary></indexterm>
 
-	<programlisting>Section "Screen"
-Identifier "Screen0"
-Device     "Card0"
-Monitor    "Monitor0"
-DefaultDepth 24
-SubSection "Display"
-	Viewport  0 0
-	Depth     24
-	Modes     "1680x1050"
-EndSubSection
-EndSection</programlisting>
+      <para>The X Display Manager (<application>XDM</application>)
+	provides a graphical interface for choosing an X server to log
+	into.</para>
 
-	<para><application>&xorg;</application> is smart enough to
-	  pull the resolution information from  the widescreen via
-	  I2C/DDC information so it knows what the monitor can
-	  handle as far as frequencies and resolutions.</para>
+      <para><application>XDM</application> can be installed using
+	the <filename role="package">x11/xdm</filename> binary
+	package or port.  Once installed, the
+	<filename>/usr/local/bin/xdm</filename>
+	program can be run at any time as <username>root</username>
+	in order to start managing the X display on the local machine.
+	To configure <application>XDM</application> to run at system
+	boot, edit this line in <filename>/etc/ttys</filename>:</para>
 
-	<para>If those <literal>ModeLines</literal> do not exist in
-	  the drivers, one might need to give
-	  <application>&xorg;</application> a little hint.  Using
-	  <filename>/var/log/Xorg.0.log</filename> one can extract
-	  enough information to manually create a
-	  <literal>ModeLine</literal> that will work.  Simply look
-	  for information resembling this:</para>
+      <screen>ttyv8   "/usr/local/bin/xdm -nodaemon"  xterm   off secure</screen>
 
-	<programlisting>(II) MGA(0): Supported additional Video Mode:
-(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
-(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
-(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
-(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz</programlisting>
+      <para>Change the <literal>off</literal> to
+	<literal>on</literal> and restart &man.init.8; using the
+	directions in <xref linkend="term-hup"/>.  The first field,
+	<literal>ttyv8</literal>, indicates that
+	<application>XDM</application> will start on the ninth
+	virtual terminal which can be accessed using
+	<keycap>Ctrl</keycap>
+	<keycap>Alt</keycap>
+	<keycap>F9</keycap>.</para>
 
-	<para>This information is called EDID information.  Creating a
-	  <literal>ModeLine</literal> from this is just a matter of
-	  putting the numbers in the correct order:</para>
+      <para>The <application>XDM</application> configuration directory
+	is located in <filename>/usr/local/lib/X11/xdm</filename>.
+	In this directory there are several files used to change the
+	behavior and appearance of <application>XDM</application>.
+	The syntax and usage of the following files are described in
+	more detail in &man.xdm.1;.</para>
 
-	<programlisting>ModeLine &lt;name&gt; &lt;clock&gt; &lt;4 horiz. timings&gt; &lt;4 vert. timings&gt;</programlisting>
+      <itemizedlist>
+	<listitem>
+	  <para><filename>Xaccess</filename></para>
+	  <para>Client authorization ruleset for controlling XDMCP
+	    connections from remote machines.  The protocol for
+	    connecting to <application>XDM</application>-controlled
+	    displays is called the X Display Manager Connection
+	    Protocol (XDMCP).  This file is ignored unless
+	    <filename>xdm-config</filename> is changed to listen
+	    for remote connections.  By default, this file does not
+	    allow any clients to connect.</para>
+	</listitem>
+	<listitem>
+	  <para><filename>Xresources</filename></para>
+	  <para>Default X resource values for configuring the
+	    appearance of the display chooser and login screens.
+	    The format is identical to
+	    <filename>app-defaults</filename> described in the
+	    <application>Xorg</application> documentation.</para>
+	</listitem>
 
-	<para>So that the <literal>ModeLine</literal> in
-	  <literal>Section "Monitor"</literal>
-	  for this example would look like this:</para>
+	<listitem>
+	  <para><filename>Xservers</filename></para>
+	  <para>List of remote and local displays the login menu
+	    should provide as choices.</para>
+	</listitem>
 
-	<programlisting>Section "Monitor"
-Identifier      "Monitor1"
-VendorName      "Bigname"
-ModelName       "BestModel"
-ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
-Option          "DPMS"
-EndSection</programlisting>
+	<listitem>
+	  <para><filename>Xsession</filename></para>
+	  <para>Default session script which
+	  <application>XDM</application> runs after a user has
+	  logged in.  Normally each user will have a customized
+	  session script in <filename>~/.xsession</filename> that
+	  overrides this script.</para>
+	</listitem>
 
-	<para>Now having completed these simple editing steps, X
-	  should start on your new widescreen monitor.</para>
+	<listitem>
+	  <para><filename>Xsetup_</filename>*</para>
+	  <para>Script to indicate which applications
+	    automatically run when launching the user's graphical
+	    environment.  There is a script for each display being
+	    used, named <filename>Xsetup_</filename> followed by
+	    the local display number.  Typically these scripts
+	    will run one or two programs such as
+	    <application>xconsole</application>.</para>
+	</listitem>
+
+	<listitem>
+	  <para><filename>xdm-config</filename></para>
+	  <para>Global configuration for all displays running
+	    on this machine.  This file contains settings, in the
+	    form of <filename>app-defaults</filename>, which are
+	    applicable to every display.</para>
+	</listitem>
+
+	<listitem>
+	  <para><filename>xdm-errors</filename></para>
+	  <para>Errors generated by the X server program.  If a
+	    display that <application>XDM</application> is trying
+	    to start hangs, this is a good place to look for error
+	    messages.  These messages are also written to the
+	    user's <filename>~/.xsession-errors</filename> on
+	    a per-session basis.</para>
+	</listitem>
+
+	<listitem>
+	  <para><filename>xdm-pid</filename></para>
+	  <para>The process ID of the currently running XDM.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>The default configuration is a simple rectangular login
+	window with the hostname of the machine displayed at the
+	top in a large font and <quote>Login:</quote> and
+	<quote>Password:</quote> prompts below.</para>
+
+      <para>To start <application>GNOME</application> using
+	the <application>XDM</application> display manager, create
+	or edit <filename>.xsession</filename> in your home
+	directory so that it contains these lines:</para>
+
+ <screen>#!/bin/sh</screen>
+
+ <screen>/usr/local/bin/gnome-session</screen>
+
+	<para> Make sure that the file is executable by running this
+	  command:</para>
+
+	  <screen>&prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen>
+
+	<para>To start <application>Xfce</application> using the
+	  <application>XDM</application> display manager, instead use
+	  this as the second line in your
+	  <filename>.xsession</filename>:</para>
+
+	  <screen>/usr/local/bin/startxfce4</screen>
+
+      <sect3>
+	<title>Running a Network Display Server</title>
+
+	<para>To configure other clients to connect to the X
+	  server over the network, edit the access control rules and
+	  enable the connection listener.  To configure
+	  <application>XDM</application> to listen for all network
+	  connections, quote out this line in
+	  <filename>xdm-config</filename> by adding a
+	  <keycap>!</keycap> at the beginning of the line:</para>
+
+      <screen>DisplayManager.requestPort:     0</screen>
+
+	<para>Examples of stricter access controls can be found in the
+	  example entries in <filename>Xaccess</filename> and
+	  &man.xdm.1;.  After saving the configuration changes which
+	  are appropriate to your network, restart
+	  <application>XDM</application> to apply the new
+	  configuration.</para>
       </sect3>
     </sect2>
-  </sect1>
 
-  <sect1 id="x-fonts">
-    <sect1info>
-      <authorgroup>
-	<author>
-	  <firstname>Murray</firstname>
-	  <surname>Stokely</surname>
-	  <contrib>Contributed by </contrib>
-	</author>
-      </authorgroup>
-    </sect1info>
-    <title>Using Fonts in X11</title>
+    <sect2>
+      <title>Using <application>startx</application></title>
 
-    <sect2 id="type1">
-    <title>Type1 Fonts</title>
+      <para>A display manager is not required as any window manager
+	can be started from the command line using
+	<application>startx</application>.  To configure
+	<application>startx</application>, create a file named
+	<filename>.xinitrc</filename> in the home directory of your
+	regular user account.  If that file already exists, replace
+	the line that starts the current window manager with one
+	that starts the desired window manager.</para>
 
-    <para>The default fonts that ship with X11 are less than ideal
-      for typical desktop publishing applications.  Large
-      presentation fonts show up jagged and unprofessional looking,
-      and small fonts in <application>&netscape;</application> are
-      almost completely unintelligible.  However, there are several
-      free, high quality Type1 (&postscript;) fonts available which
-      can be readily used with X11.  For instance, the URW font
-      collection (<filename
-      role="package">x11-fonts/urwfonts</filename>) includes high
-      quality versions of standard type1 fonts (<trademark
-      class="registered">Times Roman</trademark>,
-      <trademark class="registered">Helvetica</trademark>, <trademark
-      class="registered">Palatino</trademark> and others).  The
-      Freefonts collection (<filename
-      role="package">x11-fonts/freefonts</filename>) includes
-      many more fonts, but most of them are intended for use in
-      graphics software such as the <application>Gimp</application>,
-      and are not complete enough to serve as screen fonts.  In
-      addition, X11 can be configured to use &truetype; fonts with
-      a minimum of effort.  For more details on this, see the
-      &man.X.7; manual page or the <link linkend="truetype">section
-      on &truetype; fonts</link>.</para>
+      <para>For example, to start <application>GNOME</application>,
+	use this line:</para>
 
-    <para>To install the above Type1 font collections from the
-      Ports Collection, run the following commands:</para>
+	<programlisting>/usr/local/bin/gnome-session</programlisting>
 
-    <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
+      <para> To start <application>KDE</application>, use this
+	line:</para>
 
-    <para>And likewise with the freefont or other collections.  To
-      have the X server detect these fonts, add an appropriate line
-      to the X server configuration file
-      (<filename>/etc/X11/xorg.conf</filename>), which reads:</para>
+<programlisting>exec /usr/local/kde4/bin/startkde</programlisting>
 
+	<para>To start <application>Xfce</application>,use
+	  this line:</para>
+
+	<programlisting>/usr/local/bin/startxfce4</programlisting>
+
+	<para>To configure any other window manager, determine the
+	  full path to the window manager's executable and add that as
+	  the line.</para>
+
+	<para>To start the window manager listed in
+	  <filename>~/.xinitrc</filename>, type
+	  <application>startx</application>.</para>
+
+      </sect2>
+    </sect1>
+
+    <sect1 id="x-fonts">
+      <sect1info>
+	<authorgroup>
+	  <author>
+	    <firstname>Murray</firstname>
+	    <surname>Stokely</surname>
+	    <contrib>Contributed by </contrib>
+	  </author>
+	</authorgroup>
+      </sect1info>
+    <title>Configuring Fonts</title>
+
+    <para>This section demonstrates how to install and configure
+      Type1, &truetype;, and anti-aliased fonts on &os;.</para>
+
+    <sect2 id="type1">
+      <title>Type1 Fonts</title>
+
+      <para>The default fonts provided by
+	<application>Xorg</application> are less than ideal for
+	desktop use.  There are several free, high quality Type1
+	&postscript; fonts which can be installed using &os; binary
+	packages or ports.  For instance, the URW font collection
+	(<filename role="package">x11-fonts/urwfonts</filename>)
+	includes high quality versions of the <trademark
+	class="registered">Times Roman</trademark>,
+	<trademark class="registered">Helvetica</trademark>, and
+	<trademark class="registered">Palatino</trademark> fonts.
+	The Freefonts collection (<filename
+	role="package">x11-fonts/freefonts</filename>) includes
+	many fonts suited for use in graphics software such as the
+	<application>Gimp</application>. Many more fonts are
+	available in the <filename>x11-fonts</filename> category of
+	the Ports Collection</para>
+
+      <para>After installing the desired fonts, configure the X server
+	to detect the new fonts when it starts up.  Add a line to
+	<filename>/etc/X11/xorg.conf</filename> containing the
+	full path to the fonts directory.  As an example, the
+	following line adds the path to the installed <filename
+	role="package">x11-fonts/urwfonts</filename>:</para>
+
       <programlisting>FontPath "/usr/local/lib/X11/fonts/URW/"</programlisting>
 
-      <para>Alternatively, at the command line in the X session
-	run:</para>
+      <para>To tell the X server to use the new fonts now, run this
+	command as the superuser:</para>
 
       <screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/URW</userinput>
 &prompt.user; <userinput>xset fp rehash</userinput></screen>
 
-      <para>This will work but will be lost when the X session is
-	closed, unless it is added to the startup file
-	(<filename>~/.xinitrc</filename> for a normal
-	<command>startx</command> session, or
-	<filename>~/.xsession</filename> when logging in through a
-	graphical login manager like <application>XDM</application>).
-	A third way is to use the new
-	<filename>/usr/local/etc/fonts/local.conf</filename> file: see
-	the section on <link
-	linkend="antialias">anti-aliasing</link>.</para>
     </sect2>
 
     <sect2 id="truetype">
-    <title>&truetype; Fonts</title>
+      <title>&truetype; Fonts</title>
 
-    <indexterm><primary>TrueType Fonts</primary></indexterm>
-    <indexterm><primary>fonts</primary>
-      <secondary>TrueType</secondary>
-    </indexterm>
+      <indexterm><primary>TrueType Fonts</primary></indexterm>
+      <indexterm><primary>fonts</primary>
+	<secondary>TrueType</secondary>
+      </indexterm>
 
-    <para><application>&xorg;</application> has built in support
-      for rendering &truetype; fonts.  There are two different
-      modules that can enable this functionality.  The freetype
-      module is used in this example because it is more consistent
-      with the other font rendering back-ends.  To enable the
-      freetype module just add the following line to the
-      <literal>"Module"</literal> section of the
-      <filename>/etc/X11/xorg.conf</filename> file.</para>
+      <para><application>&xorg;</application> can be configured to
+	render &unix; and &windows; &truetype; fonts.  To
+	enable the freetype module, add the following line to the
+	<literal>"Module"</literal> section of
+	<filename>/etc/X11/xorg.conf</filename>:</para>
 
-    <programlisting>Load  "freetype"</programlisting>
+      <programlisting>Load  "freetype"</programlisting>
 
-    <para>Now make a directory for the &truetype; fonts (for
-      example,
-      <filename>/usr/local/lib/X11/fonts/TrueType</filename>)
-      and copy all of the &truetype; fonts into this directory.
-      Keep in mind that &truetype; fonts cannot be directly taken
-      from a &macintosh;; they must be in &unix;/&ms-dos;/&windows;
-      format for use by X11.  Once the files have been copied into
-      this directory, use <application>ttmkfdir</application> to
-      create a <filename>fonts.dir</filename> file, so that the X
-      font renderer knows that these new files have been installed.
-      <command>ttmkfdir</command> is available from the FreeBSD
+      <para>Next, make a subdirectory of
+      <filename>/usr/local/lib/X11/fonts/TrueType/</filename>
+      and copy the &truetype; fonts into the subdirectory.  Then,
+      run the following <application>ttmkfdir</application> command
+      to create <filename>fonts.dir</filename> so that the X font
+      renderer knows that new fonts have been installed.
+      <application>ttmkfdir</application> is available from the &os;
       Ports Collection as
       <filename role="package">x11-fonts/ttmkfdir</filename>.</para>
 
     <screen>&prompt.root; <userinput>cd /usr/local/lib/X11/fonts/TrueType</userinput>
 &prompt.root; <userinput>ttmkfdir -o fonts.dir</userinput></screen>
 
-    <para>Now add the &truetype; directory to the font
-      path.  This is just the same as described above for <link
-      linkend="type1">Type1</link> fonts, that is, use</para>
-
-    <screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/TrueType</userinput>
-&prompt.user; <userinput>xset fp rehash</userinput></screen>
-
-    <para>or add a <literal>FontPath</literal> line to the
-       <filename>xorg.conf</filename> file.</para>
-
-      <para>That's it.  Now <application>&netscape;</application>,
-	<application>Gimp</application>,
-	<application>&staroffice;</application>, and all of the
-	other X applications should now recognize the installed
-	&truetype; fonts.  Extremely small fonts (as with text in a
-	high resolution display on a web page) and extremely large
-	fonts (within <application>&staroffice;</application>) will
-	look much better now.</para>
+      <para>To load the new fonts whenever the X server starts, add
+	the &truetype; path to <filename>/etc/X11/xorg.conf</filename>
+	as described above for <link linkend="type1">Type1</link>
+	fonts.</para>
     </sect2>
 
     <sect2 id="antialias">
-    <sect2info>
-      <authorgroup>
-	<author>
-	  <firstname>Joe Marcus</firstname>
-	  <surname>Clarke</surname>
-	  <contrib>Updated by </contrib>
-	  <!-- May 2003 -->
+      <sect2info>
+	<authorgroup>
+	  <author>
+	    <firstname>Joe Marcus</firstname>
+	    <surname>Clarke</surname>
+	    <contrib>Updated by </contrib>
+	    <!-- May 2003 -->
 	</author>
       </authorgroup>
     </sect2info>
@@ -962,8 +817,9 @@
     <indexterm><primary>fonts</primary>
       <secondary>anti-aliased</secondary></indexterm>
 
-    <para>All fonts in X11 that are found
-      in <filename>/usr/local/lib/X11/fonts/</filename> and
+    <para>The X FreeType (Xft) library is used by the freetype module
+      to provide anti-aliased fonts.  All fonts within
+      <filename>/usr/local/lib/X11/fonts/</filename> and
       <filename>~/.fonts/</filename> are automatically
       made available for anti-aliasing to Xft-aware applications.
       Most recent applications are Xft-aware, including
@@ -972,13 +828,10 @@
       <application>Firefox</application>.</para>
 
     <para>In order to control which fonts are anti-aliased, or to
-      configure anti-aliasing properties, create (or edit, if it
-      already exists) the file
+      configure anti-aliasing properties, create or edit
       <filename>/usr/local/etc/fonts/local.conf</filename>.  Several
       advanced features of the Xft font system can be tuned using
-      this file; this section describes only some simple
-      possibilities.  For more details, please see
-      &man.fonts-conf.5;.</para>
+      this file.  For more examples, see &man.fonts-conf.5;.</para>
 
     <indexterm><primary>XML</primary></indexterm>
 
@@ -988,33 +841,24 @@
       definition, and then the <literal>&lt;fontconfig&gt;</literal>
       tag:</para>
 
-    <programlisting>
-      &lt;?xml version="1.0"?&gt;
-      &lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;
-      &lt;fontconfig&gt;</programlisting>
+    <para>If you wish to add another directory outside of the two
+      default font directory trees, add a line containing the full
+      path to
+      <filename>/usr/local/etc/fonts/local.conf</filename>
+      using this format:</para>
 
-    <para>As previously stated, all fonts in
-      <filename>/usr/local/lib/X11/fonts/</filename> as well as
-      <filename>~/.fonts/</filename> are already made available to
-      Xft-aware applications.  If you wish to add another directory
-      outside of these two directory trees, add a line similar to the
-      following to
-      <filename>/usr/local/etc/fonts/local.conf</filename>:</para>
+<programlisting>&lt;dir&gt;/path/to/my/fonts&lt;/dir&gt;</programlisting>
 
-    <programlisting>&lt;dir&gt;/path/to/my/fonts&lt;/dir&gt;</programlisting>
+    <para>After adding new font directories, run the following command
+      to rebuild the font caches:</para>
 
-    <para>After adding new fonts, and especially new font directories,
-      you should run the following command to rebuild the font
-      caches:</para>
-
     <screen>&prompt.root; <userinput>fc-cache -f</userinput></screen>
 
     <para>Anti-aliasing makes borders slightly fuzzy, which makes
-      very small text more readable and removes
-      <quote>staircases</quote> from large text, but can cause
-      eyestrain if applied to normal text.  To exclude font sizes
-      smaller than 14 point from anti-aliasing, include these
-      lines:</para>
+      very small text more readable and removes staircases from large
+      text, but can cause eyestrain if applied to normal text.  To
+      exclude font sizes smaller than 14 point from anti-aliasing,
+      add these lines:</para>
 
       <programlisting>        &lt;match target="font"&gt;
 	    &lt;test name="size" compare="less"&gt;
@@ -1039,10 +883,11 @@
     <para>Spacing for some monospaced fonts may also be inappropriate
       with anti-aliasing.  This seems to be an issue with
       <application>KDE</application>, in particular.  One possible
-      fix for this is to force the spacing for such fonts to be 100.
-      Add the following lines:</para>
+      fix is to force the spacing for such fonts to be 100 by
+      adding the following lines:</para>
 
-     <programlisting>       &lt;match target="pattern" name="family"&gt;
+     <programlisting>       &lt;match target="pattern"
+name="family"&gt;
 	   &lt;test qual="any" name="family"&gt;
 	       &lt;string&gt;fixed&lt;/string&gt;
 	   &lt;/test&gt;
@@ -1057,12 +902,9 @@
 	    &lt;edit name="family" mode="assign"&gt;
 		&lt;string&gt;mono&lt;/string&gt;
 	    &lt;/edit&gt;
-	&lt;/match&gt;</programlisting>
+	&lt;/match&gt;
 
-      <para>(this aliases the other common names for fixed fonts as
-	<literal>"mono"</literal>), and then add:</para>
-
-      <programlisting>         &lt;match target="pattern" name="family"&gt;
+       &lt;match target="pattern" name="family"&gt;
 	     &lt;test qual="any" name="family"&gt;
 		 &lt;string&gt;mono&lt;/string&gt;
 	     &lt;/test&gt;
@@ -1074,11 +916,10 @@
       <para>Certain fonts, such as Helvetica, may have a problem when
 	anti-aliased.  Usually this manifests itself as a font that
 	seems cut in half vertically.  At worst, it may cause
-	applications to
-	crash.  To avoid this, consider adding the following to
-	<filename>local.conf</filename>:</para>
+	applications to crash.  To avoid this, consider adding the
+	following lines:</para>
 
-      <programlisting>         &lt;match target="pattern" name="family"&gt;
+<programlisting>         &lt;match target="pattern" name="family"&gt;
 	     &lt;test qual="any" name="family"&gt;
 		 &lt;string&gt;Helvetica&lt;/string&gt;
 	     &lt;/test&gt;
@@ -1087,30 +928,16 @@
 	     &lt;/edit&gt;
 	 &lt;/match&gt;        </programlisting>
 
-      <para>Once you have finished editing
-	<filename>local.conf</filename> make sure you end the file
-	with the <literal>&lt;/fontconfig&gt;</literal> tag.  Not
-	doing this will cause your changes to be ignored.</para>
+      <indexterm><primary>LCD screen</primary></indexterm>
+      <indexterm><primary>Fonts</primary>
+	<secondary>LCD screen</secondary></indexterm>
 
-       <para>Finally, users can add their own settings via their
-	 personal <filename>.fonts.conf</filename> files.  To do
-	 this, each user should simply create a
-	 <filename>~/.fonts.conf</filename>.  This file must also be
-	 in XML format.</para>
+      <para>When using an LCD screen, sub-pixel sampling may be
+	desired as it treats the horizontally separated red, green
+	and blue components separately to improve horizontal
+	resolution.  To enable this, add these lines:</para>
 
-       <indexterm><primary>LCD screen</primary></indexterm>
-       <indexterm><primary>Fonts</primary>
-	 <secondary>LCD screen</secondary></indexterm>
-
-       <para>One last point: with an LCD screen, sub-pixel sampling
-	 may be desired.  This basically treats the (horizontally
-	 separated) red, green and blue components separately to
-	 improve the horizontal resolution; the results can be
-	 dramatic.  To enable this, add the line somewhere in the
-	 <filename>local.conf</filename> file:</para>
-
-	<programlisting>
-	  &lt;match target="font"&gt;
+	<programlisting>	&lt;match target="font"&gt;
 	     &lt;test qual="all" name="rgba"&gt;
 		 &lt;const&gt;unknown&lt;/const&gt;
 	     &lt;/test&gt;
@@ -1119,692 +946,230 @@
 	     &lt;/edit&gt;
 	 &lt;/match&gt;</programlisting>
 
-	<note>
-	<para>Depending on the sort of display,
-	  <literal>rgb</literal> may need to be changed to
-	  <literal>bgr</literal>, <literal>vrgb</literal> or
-	  <literal>vbgr</literal>: experiment and see which works
-	  best.</para>
-	</note>
-    </sect2>
-  </sect1>
+	<para>Depending on the display, <literal>rgb</literal> may
+	  need to be changed to <literal>bgr</literal>,
+	  <literal>vrgb</literal> or <literal>vbgr</literal>.</para>
 
-  <sect1 id="x-xdm">
-    <sect1info>
-      <authorgroup>
-	<author>
-	  <firstname>Seth</firstname>
-	  <surname>Kingsley</surname>
-	  <contrib>Contributed by </contrib>
-	</author>
-      </authorgroup>
-    </sect1info>
-    <title>The X Display Manager</title>
-    <sect2>
+      <para>Before saving your edits, make sure the file ends
+	with the <literal>&lt;/fontconfig&gt;</literal> tag.  Not
+	doing this will cause the changes to be ignored.</para>
 
-      <title>Overview</title>
-
-      <indexterm><primary>X Display Manager</primary></indexterm>
-      <para>The X Display Manager (<application>XDM</application>)
-	is an optional part of the X Window System that is used for
-	login session management.  This is useful for several types
-	of situations, including minimal <quote>X Terminals</quote>,
-	desktops, and large network display servers.  Since the X
-	Window System is network and protocol independent, there are
-	a wide variety of possible configurations for running X
-	clients and servers on different machines connected by a
-	network.  <application>XDM</application> provides a graphical
-	interface for choosing which display server to connect to,
-	and entering authorization information such as a login and
-	password combination.</para>
-
-      <para>Think of <application>XDM</application> as
-	providing the same functionality to the user as the
-	&man.getty.8; utility (see <xref linkend="term-config"/> for
-	details).  That is, it performs system logins to the display
-	being connected to and then runs a session manager on
-	behalf of the user (usually an X window manager).
-	<application>XDM</application> then waits for this program to
-	exit, signaling that the user is done and should be logged out
-	of the display.  At this point, <application>XDM</application>
-	can display the login and display chooser screens for the next
-	user to login.</para>
+      <para>Users can add their own settings by creating
+	<filename>.fonts.conf</filename> in their home
+	directory.</para>
     </sect2>
+  </sect1>
 
-    <sect2>
-      <title>Using XDM</title>
+  <sect1 id="x11-understanding">
+    <title>Troubleshooting</title>
 
-      <para>To start using <application>XDM</application>, install
-	the <filename role="package">x11/xdm</filename> port (it is
-	not installed by default in recent versions of
-	<application>&xorg;</application>).  The
-	<application>XDM</application> daemon program may then be
-	found in <filename>/usr/local/bin/xdm</filename>.  This
-	program can be run at any time as <username>root</username>
-	and it will start managing the X display on the local machine.
-	If <application>XDM</application> is to be run every
-	time the machine boots up, a convenient way to do this is by
-	adding an entry to <filename>/etc/ttys</filename>.  For more
-	information about the format and usage of this file, see <xref
-	linkend="term-etcttys"/>.  There is a line in the default
-	<filename>/etc/ttys</filename> file for running the
-	<application>XDM</application> daemon on a virtual
-	terminal:</para>
+    <para>This section describes some common troubleshooting scenarios
+      for when <filename>Xorg</filename> does not automatically detect
+      and configure the hardware.</para>
 
-      <screen>ttyv8   "/usr/local/bin/xdm -nodaemon"  xterm   off secure</screen>
-
-      <para>By default this entry is disabled; in order to enable it
-	change field 5 from <literal>off</literal> to
-	<literal>on</literal> and restart &man.init.8; using the
-	directions in <xref linkend="term-hup"/>.  The first field,
-	the name of the terminal this program will manage, is
-	<literal>ttyv8</literal>.  This means that
-	<application>XDM</application> will start running on the 9th
-	virtual terminal.</para>
-    </sect2>
-
     <sect2>
-      <title>Configuring XDM</title>
+      <title>Mouse</title>
 
-      <para>The <application>XDM</application> configuration directory
-	is located in <filename>/usr/local/lib/X11/xdm</filename>.
-	In this directory there are several files used to change the
-	behavior and appearance of
-	<application>XDM</application>.  Typically these files will
-	be found:</para>
+      <para>If the mouse does not work, configure it first using the
+	instructions in <xref linkend="mouse"/> of the &os; install
+	chapter.  In recent <application>Xorg</application> versions,
+	the <literal>InputDevice</literal> sections in
+	<filename>/etc/X11/xorg.conf</filename> are ignored in favor
+	of the autodetected devices.  To force the old behavior, add
+	the following line to the <literal>ServerLayout</literal> or
+	<literal>ServerFlags</literal> section of this file:</para>
 
-	<informaltable frame="none" pgwide="1">
-	  <tgroup cols="2">
-	    <thead>
-	      <row>
-		<entry>File</entry>
-		<entry>Description</entry>
-	      </row>
-	    </thead>
+	  <programlisting>Option "AutoAddDevices" "false"</programlisting>
 
-	    <tbody>
-	      <row>
-		<entry><filename>Xaccess</filename></entry>
-		<entry>Client authorization ruleset.</entry>
-	      </row>
-
-	      <row>
-		<entry><filename>Xresources</filename></entry>
-		<entry>Default X resource values.</entry>
-	      </row>
-
-	      <row>
-		<entry><filename>Xservers</filename></entry>
-		<entry>List of remote and local displays to
-		  manage.</entry>
-	      </row>
-
-	      <row>
-		<entry><filename>Xsession</filename></entry>
-		<entry>Default session script for logins.</entry>
-	      </row>
-
-	      <row>
-		<entry><filename>Xsetup_</filename>*</entry>
-		<entry>Script to launch applications before the login
-		  interface.</entry>
-	      </row>
-
-	      <row>
-		<entry><filename>xdm-config</filename></entry>
-		<entry>Global configuration for all displays running
-		  on this machine.</entry>
-	      </row>
-
-	      <row>
-		<entry><filename>xdm-errors</filename></entry>
-		<entry>Errors generated by the server program.</entry>
-	      </row>
-
-	      <row>
-		<entry><filename>xdm-pid</filename></entry>
-		<entry>The process ID of the currently running
-		  XDM.</entry>
-	      </row>
-	    </tbody>
-	  </tgroup>
-	</informaltable>
-
-      <para>Also in this directory are a few scripts and programs
-	used to set up the desktop when <application>XDM</application>
-	is running.  The purpose of each of these files will be
-	briefly described.  The exact syntax and usage of all of
-	these files is described in &man.xdm.1;.</para>
-
-      <para>The default configuration is a simple rectangular login
-	window with the hostname of the machine displayed at the
-	top in a large font and <quote>Login:</quote> and
-	<quote>Password:</quote> prompts below.  This is a good
-	starting point for changing the look and feel of
-	<application>XDM</application> screens.</para>
-
-      <sect3>
-	<title>Xaccess</title>
-
-	<para>The protocol for connecting to
-	  <application>XDM</application>-controlled displays is
-	  called the X Display Manager Connection Protocol (XDMCP).
-	  This file is a ruleset for controlling XDMCP connections
-	  from remote machines.  It is ignored unless the
-	  <filename>xdm-config</filename> is changed to listen for
-	  remote connections.  By default, it does not allow any
-	  clients to connect.</para>
-      </sect3>
-
-      <sect3>
-	<title>Xresources</title>
-
-	<para>This is an application-defaults file for the display
-	  chooser and login screens.  In it, the appearance
-	  of the login program can be modified.  The format is
-	  identical to the app-defaults file described in the
-	  X11 documentation.</para>
-      </sect3>
-
-      <sect3>
-	<title>Xservers</title>
-
-	<para>This is a list of the remote displays the chooser should
-	  provide as choices.</para>
-      </sect3>
-
-      <sect3>
-	<title>Xsession</title>
-
-	<para>This is the default session script for
-	  <application>XDM</application> to run after a user has
-	  logged in.  Normally each user will have a customized
-	  session script in <filename>~/.xsession</filename> that
-	  overrides this script.</para>
-      </sect3>
-
-      <sect3>
-	<title>Xsetup_*</title>
-
-	<para>These will be run automatically before displaying the
-	  chooser or login interfaces.  There is a script for each
-	  display being used, named <filename>Xsetup_</filename>
-	  followed by the local display number (for instance
-	  <filename>Xsetup_0</filename>).  Typically these scripts
-	  will run one or two programs in the background such as
-	  <command>xconsole</command>.</para>
-      </sect3>
-
-      <sect3>
-	<title>xdm-config</title>
-
-	<para>This contains settings in the form of app-defaults
-	  that are applicable to every display that this installation
-	  manages.</para>
-      </sect3>
-
-      <sect3>
-	<title>xdm-errors</title>
-
-	<para>This contains the output of the X servers that
-	  <application>XDM</application> is trying to run.  If a
-	  display that <application>XDM</application> is trying to
-	  start hangs for some reason, this is a good place to look
-	  for error messages.  These messages are also written to the
-	  user's <filename>~/.xsession-errors</filename> file on a
-	  per-session basis.</para>
-      </sect3>
+      <para>Input devices may then be configured manually within
+	the file.</para>
     </sect2>
-
     <sect2>
-      <title>Running a Network Display Server</title>
+      <title>Keyboard</title>
 
-      <para>In order for other clients to connect to the display
-	server, you must edit the access control rules and enable
-	the connection listener.  By default these are set to
-	conservative values.  To make <application>XDM</application>
-	listen for connections, first comment out a line in the
-	<filename>xdm-config</filename> file:</para>
+      <para>If <application>hald</application> incorrectly detects
+	the keyboard layout or model, use the graphical tools provided
+	by desktop environments like <application>GNOME</application>,
+	<application>KDE</application> or
+	<application>Xfce</application> to configure the keyboard.
+	It is also possible to set the keyboard properties directly
+	using the &man.setxkbmap.1; utility or with a
+	<application>hald</application> configuration rule.</para>
 
-      <screen>! SECURITY: do not listen for XDMCP or Chooser requests
-! Comment out this line if you want to manage X terminals with xdm
-DisplayManager.requestPort:     0</screen>
+      <para>For example, to set a PC 102 keys keyboard with a French
+	layout, create or edit the keyboard configuration file for
+	<application>hald</application> called <filename
+class="directory">/usr/local/etc/hal/fdi/policy/x11-input.fdi</filename>.
+	This file should contain the following lines:</para>
 
-      <para>and then restart <application>XDM</application>.
-	Remember that comments in app-defaults files begin with a
-	<quote>!</quote> character, not the usual <quote>#</quote>.
-	More strict access controls may be desired &mdash; look at the
-	example entries in <filename>Xaccess</filename>, and refer to
-	the &man.xdm.1; manual page for further information.</para>
-    </sect2>
+      <programlisting>&lt;?xml version="1.0"
+encoding="iso-8859-1"?&gt;
+&lt;deviceinfo version="0.2"&gt;
+  &lt;device&gt;
+    &lt;match key="info.capabilities" contains="input.keyboard"&gt;
+	  &lt;merge key="input.x11_options.XkbModel" type="string"&gt;pc102&lt;/merge&gt;
+	  &lt;merge key="input.x11_options.XkbLayout" type="string"&gt;fr&lt;/merge&gt;
+    &lt;/match&gt;
+  &lt;/device&gt;
+&lt;/deviceinfo&gt;</programlisting>
 
-     <sect2>
-	<title>Replacements for XDM</title>
+    <para>Reboot the system to test the configuration.</para>
 
-	<para>Several replacements for the default
-	  <application>XDM</application> program exist.  One of them,
-	  <application>KDM</application> (bundled with
-	  <application>KDE</application>) is described later in this
-	  chapter.  The <application>KDM</application> display
-	  manager offers many visual improvements and cosmetic frills,
-	  as well as the functionality to allow users to choose their
-	  window manager of choice at login time.</para>
-     </sect2>
-  </sect1>
+    <para>Alternately, you can temporarily configure this
+      setting for the current session by typing this command:</para>
 
-  <sect1 id="x11-wm">
-    <sect1info>
-      <authorgroup>
-	<author>
-	  <firstname>Valentino</firstname>
-	  <surname>Vaschetto</surname>
-	  <contrib>Contributed by </contrib>
-	</author>
-	<!-- June 2001 -->
-      </authorgroup>
-    </sect1info>
+	<screen>&prompt.user; <userinput>setxkbmap -model pc102 -layout fr</userinput></screen>
 
-    <title>Desktop Environments</title>
+    <para>
+      <filename>/usr/local/share/X11/xkb/rules/base.lst</filename>
+      lists the available keyboard, layouts, and options.</para>
+  </sect2>
+  <sect2>
+    <title>Monitor</title>
 
-    <para>This section describes the different desktop environments
-      available for X on FreeBSD.  A <quote>desktop
-      environment</quote> can mean anything ranging from a simple
-      window manager to a complete suite of desktop applications, such
-      as <application>KDE</application> or
-      <application>GNOME</application>.</para>
+    <indexterm><primary>X11 tuning</primary></indexterm>
 
-    <sect2 id="x11-wm-gnome">
-      <title>GNOME</title>
+    <para>Most monitors support sync frequency autodetection.  If
+      the monitor is an older or unusual model that does not
+      support autodetection, those settings can be manually added
+      under the <literal>"Monitor"</literal> section.  To avoid
+      potential damage, only enter the values provided by the
+      manufacturer. </para>
 
-      <sect3 id="x11-wm-gnome-about">
-	<title>About GNOME</title>
+    <programlisting>Section "Monitor"
+	Identifier   "Monitor0"
+	VendorName   "Monitor Vendor"
+	ModelName    "Monitor Model"
+	HorizSync    30-107
+	VertRefresh  48-120
+EndSection</programlisting>
 
-	<indexterm><primary>GNOME</primary></indexterm>
-	<para><application>GNOME</application> is a user-friendly
-	  desktop environment that enables users to easily use and
-	  configure their computers.  <application>GNOME</application>
-	  includes a panel (for starting applications and displaying
-	  status), a desktop (where data and applications can be
-	  placed), a set of standard desktop tools and applications,
-	  anda set of conventions that make it easy for applications
-	  to cooperate and be consistent with each other.  Users of
-	  other operating systems or environments should feel right
-	  at home using the powerful graphics-driven environment that
-	  <application>GNOME</application> provides.  More
-	  information regarding <application>GNOME</application> on
-	  FreeBSD can be found on the <ulink
-	  url="http://www.FreeBSD.org/gnome">FreeBSD GNOME
-	  Project</ulink>'s web site.  The web site also contains
-	  fairly comprehensive FAQs about installing, configuring,
-	  and managing <application>GNOME</application>.</para>
-      </sect3>
+    <para><application>Xorg</application> allows DPMS (Energy Star)
+      features to be used with capable monitors.  The &man.xset.1;
+      program controls the time-outs and can force standby, suspend,
+      or off modes.  To enable DPMS, add the following line to the
+      <literal>"Monitor"</literal> section:</para>
 
-      <sect3 id="x11-wm-gnome-install">
-	<title>Installing GNOME</title>
+      <programlisting>Option       "DPMS"</programlisting>
 
-	<para>The software can be easily installed from a package
-	  or the Ports Collection:</para>
+      <indexterm>
+	<primary><filename>xorg.conf</filename></primary>
+      </indexterm>
 
-	<para>To install the <application>GNOME</application> package
-	  from the network, simply type:</para>
+      <para>Then, define the resolution and color depth in the
+	<literal>"Screen"</literal> section:</para>
 
-	<screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen>
+      <programlisting>Section "Screen"
+	Identifier "Screen0"
+	Device     "Card0"
+	Monitor    "Monitor0"
+	DefaultDepth 24
+	SubSection "Display"
+		Viewport  0 0
+		Depth     24
+		Modes     "1024x768"
+	EndSubSection
+EndSection</programlisting>
 
-	<para>To build <application>GNOME</application> from source,
-	  use the ports tree:</para>
+    <para>The <literal>DefaultDepth</literal> keyword describes
+      the color depth to run by default.  This can be overridden
+      with the <option>-depth</option> command line switch to
+      &man.Xorg.1;.  The <literal>Modes</literal> keyword describes
+      the resolution to run for the given color depth.  Note that only
+      VESA standard modes are supported as defined by the graphics
+      hardware.  In the example above, the default color depth is
+      twenty-four bits per pixel.  At this color depth, the accepted
+      resolution is 1024 by 768 pixels.</para>
+  </sect2>
+  <sect2>
+    <title>Configuration with &intel; <literal>i810</literal>
+      Graphics Chipsets</title>
 
-	<screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
+    <indexterm><primary>Intel i810 graphic chipset</primary></indexterm>
 
-	<para>For proper operation, <application>GNOME</application>
-	  requires the <filename>/proc</filename> filesystem to be
-	  mounted. Add</para>
+    <para>&intel; i810 integrated chipsets
+      require the &man.agp.4; driver to be compiled in the kernel.
+      The <filename>GENERIC</filename> kernel includes this driver
+      so this is only a consideration for custom kernels.</para>
+  </sect2>
 
-	<programlisting>proc           /proc       procfs  rw  0   0</programlisting>
+  <sect2>
+    <title>Configuring a Widescreen Flatpanel</title>
 
-	<para>to <filename>/etc/fstab</filename> to mount
-	  &man.procfs.5; automatically during
-	  startup.</para>
+    <indexterm><primary>widescreen flatpanel configuration</primary></indexterm>
 
-	<para>Once <application>GNOME</application> is installed,
-	  the X server must be told to start
-	  <application>GNOME</application> instead of a default window
-	  manager.</para>
+    <para>Widescreen formats such as WSXGA, WSXGA+, WUXGA, WXGA, and
+      WXGA+ support 16:10 and 10:9 formats or aspect ratios that
+      may need to be manually configured. Examples of common screen
+      resolutions for 16:10 aspect ratios include:</para>
 
-	<para>The easiest way to start
-	  <application>GNOME</application> is with
-	  <application>GDM</application>, the GNOME Display Manager.
-	  <application>GDM</application> is installed as part
-	  of the <application>GNOME</application> desktop, although
-	  it is disabled by default.  It can be enabled by adding this
-	  line to <filename>/etc/rc.conf</filename>:</para>
+    <itemizedlist>
+      <listitem><para>2560x1600</para></listitem>
+      <listitem><para>1920x1200</para></listitem>
+      <listitem><para>1680x1050</para></listitem>
+      <listitem><para>1440x900</para></listitem>
+      <listitem><para>1280x800</para></listitem>
+    </itemizedlist>
 
-	<programlisting>gdm_enable="YES"</programlisting>
+    <para>These resolutions can be added as a possible
+      <literal>Mode</literal> in the <literal>Section
+      "Screen"</literal>:</para>
 
-	<para>Once you have rebooted,
-	  <application>GDM</application> will start
-	  automatically.</para>
+    <programlisting>Section "Screen"
+Identifier "Screen0"
+Device     "Card0"
+Monitor    "Monitor0"
+DefaultDepth 24
+SubSection "Display"
+	Viewport  0 0
+	Depth     24
+	Modes     "1680x1050"
+EndSubSection
+EndSection</programlisting>
 
-	<para>It is often desirable to start all
-	  <application>GNOME</application> services together with
-	  <application>GDM</application>.  To achieve this, add the
-	  following line to <filename>/etc/rc.conf</filename>:</para>
+    <para><application>&xorg;</application> can detect the
+      widescreen's I2C/DDC information so that it knows which
+      frequencies and resolutions the monitor can handle.</para>
 
-	<programlisting>gnome_enable="YES"</programlisting>
+    <para>If those <literal>ModeLines</literal> do not exist in
+      the driver, use <filename>/var/log/Xorg.0.log</filename> to
+      extract the information to manually create a working
+      <literal>ModeLine</literal> entry.  Look
+	  for information resembling this:</para>
 
-	<para><application>GNOME</application> may also be started
-	  from the command-line by properly configuring a file named
-	  <filename>.xinitrc</filename>.
-	  If a custom <filename>.xinitrc</filename> is already in
-	  place, simply replace the line that starts the current
-	  window manager with one that starts
-	  <application>/usr/local/bin/gnome-session</application>
-	  instead.  If nothing special has been done to the
-	  configuration file, then it is enough simply to type:</para>
+	<programlisting>(II) MGA(0): Supported additional Video Mode:
+(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
+(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
+(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
+(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz</programlisting>
 
-	<screen>&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt; ~/.xinitrc</userinput></screen>
+    <para>This information is called EDID information.  Creating a
+      <literal>ModeLine</literal> from this is a matter of putting
+      the numbers in the correct order:</para>
 
-	<para>Next, type <command>startx</command>, and the
-	  <application>GNOME</application> desktop environment will
-	  be started.</para>
+	<programlisting>ModeLine &lt;name&gt; &lt;clock&gt; &lt;4 horiz. timings&gt; &lt;4 vert. timings&gt;</programlisting>
 
-	<note><para>If an older display manager, like
-	  <application>XDM</application>, is being used, this will
-	  not work.  Instead, create an executable
-	  <filename>.xsession</filename> file with the same command
-	  in it.  To do this, edit the file and replace the existing
-	  window manager command with
-	  <application>/usr/local/bin/gnome-session</application>:
-	  </para></note>
+    <para>The <literal>ModeLine</literal> in
+      <literal>Section "Monitor"</literal> for this example would
+      look like this:</para>
 
-	<screen>&prompt.user; <userinput>echo "#!/bin/sh" &gt; ~/.xsession</userinput>
-&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt;&gt; ~/.xsession</userinput>
-&prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen>
+    <programlisting>Section "Monitor"
+Identifier      "Monitor1"
+VendorName      "Bigname"
+ModelName       "BestModel"
+ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
+Option          "DPMS"
+EndSection</programlisting>
+  </sect2>
+  <sect2>
+    <title>Testing <filename>/etc/X11/xorg.conf</filename> Changes</title>
 
-	<para>Yet another option is to configure the display manager
-	  to allow choosing the window manager at login time; the
-	  section on
-	  <link linkend="x11-wm-kde-details">KDE details</link>
-	  explains how to do this for <application>KDM</application>,
-	  the display manager of
-	  <application>KDE</application>.</para>
-      </sect3>
-    </sect2>
+    <para>Whenever you make a configuration change to
+      <filename>/etc/X11/xorg.conf></filename>, restart the X server
+      to test the configuraiton change.</para>
 
-    <sect2 id="x11-wm-kde">
-      <title>KDE</title>
-
-      <indexterm><primary>KDE</primary></indexterm>
-      <sect3 id="x11-wm-kde-about">
-	<title>About KDE</title>
-
-	<para><application>KDE</application> is an easy to use
-	  contemporary desktop environment.  Some of the things
-	  that <application>KDE</application> brings to the user
-	  are:</para>
-
-	<itemizedlist>
-	  <listitem>
-	    <para>A beautiful contemporary desktop</para>
-	  </listitem>
-
-	  <listitem>
-	    <para>A desktop exhibiting complete network
-	      transparency</para>
-	  </listitem>
-
-	  <listitem>
-	    <para>An integrated help system allowing for convenient,
-	      consistent access to help on the use of the
-	      <application>KDE</application> desktop and its
-	      applications</para>
-	  </listitem>
-
-	  <listitem>
-	    <para>Consistent look and feel of all
-	      <application>KDE</application> applications</para>
-	  </listitem>
-
-	  <listitem>
-	    <para>Standardized menu and toolbars, keybindings,
-	      color-schemes, etc.</para>
-	  </listitem>
-
-	  <listitem>
-	    <para>Internationalization: <application>KDE</application>
-	      is available in more than 55 languages</para>
-	  </listitem>
-
-	  <listitem>
-	    <para>Centralized, consistent, dialog-driven desktop
-	      configuration</para>
-	  </listitem>
-
-	  <listitem>
-	    <para>A great number of useful
-	      <application>KDE</application> applications</para>
-	  </listitem>
-	</itemizedlist>
-
-	<para><application>KDE</application> comes with a web
-	  browser called <application>Konqueror</application>, which
-	  is a solid competitor to other existing web browsers on
-	  &unix; systems.  More information on
-	  <application>KDE</application> can be found on the <ulink
-	  url="http://www.kde.org/">KDE website</ulink>.  For FreeBSD
-	  specific information and resources on
-	  <application>KDE</application>, consult the <ulink
-	  url="http://freebsd.kde.org/">KDE/FreeBSD
-	  initiative</ulink>'s website.</para>
-
-	<para>There are two versions of
-	  <application>KDE</application> available on FreeBSD.
-	  Version 3 has been around for a long time, and is still
-	  available in the Ports Collection though it's now
-	  unmaintained and partially broken.  Version 4 is
-	  punctually updated and is the default choice for
-	  <application>KDE</application> users.  They can even be
-	  installed side by side.</para>
-      </sect3>
-
-      <sect3 id="x11-wm-kde-install">
-	<title>Installing KDE</title>
-
-	<para>Just as with <application>GNOME</application> or any
-	  other desktop environment, the software can be easily
-	  installed from a package or the Ports Collection:</para>
-
-	<para>To install the <application>KDE 3</application> package
-	  from the network, type:</para>
-
-	<screen>&prompt.root; <userinput>pkg_add -r kde</userinput></screen>
-
-	<para>To install the <application>KDE 4</application> package
-	  from the network, type:</para>
-
-	<screen>&prompt.root; <userinput>pkg_add -r kde4</userinput></screen>
-
-	<para>&man.pkg.add.1; will automatically fetch the latest
-	  version of the application.</para>
-
-	<para>To build <application>KDE 3</application> from source,
-	  use the ports tree:</para>
-
-	<screen>&prompt.root; <userinput>cd /usr/ports/x11/kde3</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
-	<para>To build <application>KDE 4</application> from source,
-	  use the ports tree:</para>
-
-	<screen>&prompt.root; <userinput>cd /usr/ports/x11/kde4</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
-	<para>After <application>KDE</application> has been installed,
-	  the X server must be told to launch this application
-	  instead of the default window manager.  This is accomplished
-	  by editing the <filename>.xinitrc</filename> file:</para>
-
-	<para>For <application>KDE 3</application>:</para>
-
-	<screen>&prompt.user; <userinput>echo "exec startkde" &gt; ~/.xinitrc</userinput></screen>
-
-	<para>For <application>KDE 4</application>:</para>
-
-	<screen>&prompt.user; <userinput>echo "exec /usr/local/kde4/bin/startkde" &gt; ~/.xinitrc</userinput></screen>
-
-	<para>Now, whenever the X Window System is invoked with
-	  <command>startx</command>,
-	  <application>KDE</application> will be the desktop.</para>
-
-	<para>If a display manager such as
-	  <application>XDM</application> is being used, the
-	  configuration is slightly different.  Edit the
-	  <filename>.xsession</filename> file instead.  Instructions
-	  for <application>KDM</application> are described later in
-	  this chapter.</para>
-      </sect3>
-    </sect2>
-
-    <sect2 id="x11-wm-kde-details">
-      <title>More Details on KDE</title>
-
-	<para>Now that <application>KDE</application> is installed
-	  on the system, most things can be discovered through the
-	  help pages, or just by pointing and clicking at various
-	  menus.  &windows; or &mac; users will feel quite at
-	  home.</para>
-
-	<para>The best reference for <application>KDE</application>
-	  is the on-line documentation.
-	  <application>KDE</application> comes with its own web
-	  browser, <application>Konqueror</application>, dozens of
-	  useful applications, and extensive documentation.  The
-	  remainder of this section discusses the technical items
-	  that are difficult to learn by random exploration.</para>
-
-      <sect3 id="x11-wm-kde-kdm">
-	<title>The KDE Display Manager</title>
-
-	<indexterm><primary>KDE</primary>
-	  <secondary>display manager</secondary></indexterm>
-	<para>An administrator of a multi-user system may wish to
-	  have a graphical login screen to welcome users.
-	  <link linkend="x-xdm">XDM</link> can be used, as described
-	  earlier.  However, <application>KDE</application> includes
-	  an alternative, <application>KDM</application>, which is
-	  designed to look more attractive and include more login-time
-	  options.  In particular, users can easily choose (via a
-	  menu) which desktop environment
-	  (<application>KDE</application>,
-	  <application>GNOME</application>, or something else) to
-	  run after logging on.</para>
-
-	<para>To enable <application>KDM</application>, different
-	  files need to be edited depending on the version of
-	  <application>KDE</application>.</para>
-
-	<para>For <application>KDE 3</application>, the
-	  <literal>ttyv8</literal> entry in
-	  <filename>/etc/ttys</filename> has to be adapted as
-	  follows:</para>
-
-	 <programlisting>ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure</programlisting>
-
-	<para>For <application>KDE 4</application>, you have to mount
-	  &man.procfs.5; and add the following line to
-	  <filename>/etc/rc.conf</filename>:</para>
-
-	<programlisting>kdm4_enable="YES"</programlisting>
-      </sect3>
-
-     </sect2>
-
-     <sect2 id="x11-wm-xfce">
-	 <title>Xfce</title>
-       <sect3 id="x11-wm-xfce-about">
-
-	 <title>About Xfce</title>
-
-	<para><application>Xfce</application> is a desktop environment
-	  based on the GTK+
-	  toolkit used by <application>GNOME</application>, but is
-	  much more lightweight and meant for those who want a simple,
-	  efficient desktop which is nevertheless easy to use and
-	  configure.  Visually, it looks very much like
-	  <application>CDE</application>, found on commercial &unix;
-	  systems.  Some of <application>Xfce</application>'s features
-	  are:</para>
-
-	  <itemizedlist>
-	    <listitem>
-	      <para>A simple, easy-to-handle desktop</para>
-	    </listitem>
-
-	    <listitem>
-	      <para>Fully configurable via mouse, with drag and
-		drop, etc.</para>
-	    </listitem>
-
-	    <listitem>
-	      <para>Main panel similar to
-		<application>CDE</application>, with menus, applets
-		and applications launchers</para>
-	    </listitem>
-
-	    <listitem>
-	      <para>Integrated window manager, file manager, sound
-		manager, <application>GNOME</application> compliance
-		module, and more</para>
-	    </listitem>
-
-	    <listitem>
-	      <para>Themeable (since it uses GTK+)</para>
-	    </listitem>
-
-	    <listitem>
-	      <para>Fast, light and efficient: ideal for older/slower
-		machines or machines with memory limitations</para>
-	    </listitem>
-	  </itemizedlist>
-
-	 <para>More information on <application>Xfce</application>
-	  can be found on the <ulink url="http://www.xfce.org/">Xfce
-	  website</ulink>.</para>
-       </sect3>
-
-       <sect3 id="x11-wm-xfce-install">
-	 <title>Installing Xfce</title>
-
-	<para>A binary package for <application>Xfce</application>
-	  exists (at the time of writing).  To install, simply
-	  type:</para>
-
-	<screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen>
-
-	<para>Alternatively, to build from source, use the
-	  Ports Collection:</para>
-
-	<screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
-	<para>Now, tell the X server to launch
-	  <application>Xfce</application> the next time X is started.
-	    Simply type this:</para>
-
-	<screen>&prompt.user; <userinput>echo "/usr/local/bin/startxfce4" &gt; ~/.xinitrc</userinput></screen>
-
-	<para>The next time X is started,
-	  <application>Xfce</application> will be the desktop.
-	  As before, if a display manager like
-	  <application>XDM</application> is being used, create an
-	  <filename>.xsession</filename>, as described in the
-	  section on <link linkend="x11-wm-gnome">GNOME</link>, but
-	  with the <filename>/usr/local/bin/startxfce4</filename>
-	  command; or, configure the display manager to allow
-	  choosing a desktop at login time, as explained in
-	  the section on
-	  <link linkend="x11-wm-kde-kdm">kdm</link>.</para>
-      </sect3>
-    </sect2>
-  </sect1>
+    <para>If your change did not work as expected, look for errors in
+      <filename>/var/log/Xorg.0.log</filename>.</para>
+  </sect2>
+</sect1>
 </chapter>
help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1358347186.30735.YahooMailClassic>