r7140 - in trunk/BOOK: . introduction/welcome x/wm

alexander at linuxfromscratch.org alexander at linuxfromscratch.org
Fri Dec 7 08:32:27 PST 2007


Author: alexander
Date: 2007-12-07 09:32:27 -0700 (Fri, 07 Dec 2007)
New Revision: 7140

Modified:
   trunk/BOOK/general.ent
   trunk/BOOK/introduction/welcome/changelog.xml
   trunk/BOOK/x/wm/wm.xml
   trunk/BOOK/x/wm/xfce.xml
Log:
Updated Xfce to version 4.4.2 and commented it out from the book.

The package is buggy and not maintenance-free, so uncomment
only if you use it and are absolutely sure that you have
enough time to update its page.



Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent	2007-11-24 15:58:28 UTC (rev 7139)
+++ trunk/BOOK/general.ent	2007-12-07 16:32:27 UTC (rev 7140)
@@ -3,11 +3,11 @@
 $Date$
 -->
 
-<!ENTITY day          "22">                   <!-- Always 2 digits -->
-<!ENTITY month        "11">                   <!-- Always 2 digits -->
+<!ENTITY day          "07">                   <!-- Always 2 digits -->
+<!ENTITY month        "12">                   <!-- Always 2 digits -->
 <!ENTITY year         "2007">
 <!ENTITY version      "svn-&year;&month;&day;">
-<!ENTITY releasedate  "November &day;nd, &year;">
+<!ENTITY releasedate  "December &day;th, &year;">
 <!ENTITY pubdate      "&year;-&month;-&day;"> <!-- metadata req. by TLDP -->
 <!ENTITY blfs-version "svn">                  <!-- svn|[release #] -->
 <!ENTITY lfs-version  "development">          <!-- version|testing|unstable|development] -->
@@ -440,7 +440,7 @@
 <!ENTITY sawfish-version              "1.3">
 <!ENTITY fluxbox-version              "0.9.15.1">
 <!ENTITY metacity-version             "2.18.5">
-<!ENTITY xfce-version                 "4.2.3.2">
+<!-- <!ENTITY xfce-version                 "4.4.2"> -->
 
 <!-- Part VIII -->
 <!-- Chapter 28 & 29 -->

Modified: trunk/BOOK/introduction/welcome/changelog.xml
===================================================================
--- trunk/BOOK/introduction/welcome/changelog.xml	2007-11-24 15:58:28 UTC (rev 7139)
+++ trunk/BOOK/introduction/welcome/changelog.xml	2007-12-07 16:32:27 UTC (rev 7140)
@@ -40,6 +40,16 @@
     </listitem>
 
 -->
+
+    <listitem>
+      <para>December 7th, 2007</para>
+      <itemizedlist>
+        <listitem>
+          <para>[alexander] - Updated to Xfce-4.4.2 and commented it out.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     
     <listitem>
       <para>November 22nd, 2007</para>

Modified: trunk/BOOK/x/wm/wm.xml
===================================================================
--- trunk/BOOK/x/wm/wm.xml	2007-11-24 15:58:28 UTC (rev 7139)
+++ trunk/BOOK/x/wm/wm.xml	2007-12-07 16:32:27 UTC (rev 7140)
@@ -56,7 +56,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sawfish.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="fluxbox.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="metacity.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="xfce.xml"/>
+<!--  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="xfce.xml"/> -->
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="other-wms.xml"/>
 
 </chapter>

Modified: trunk/BOOK/x/wm/xfce.xml
===================================================================
--- trunk/BOOK/x/wm/xfce.xml	2007-11-24 15:58:28 UTC (rev 7139)
+++ trunk/BOOK/x/wm/xfce.xml	2007-12-07 16:32:27 UTC (rev 7140)
@@ -4,27 +4,23 @@
   <!ENTITY % general-entities SYSTEM "../../general.ent">
   %general-entities;
 
-    <!-- Inserted as a reminder to do this. The mention of a test suite
-         is usually right before the root user installation commands. Please
-         delete these 12 (including one blank) lines after you are done.-->
-
-    <!-- Use one of the two mentions below about a test suite,
-         delete the line that is not applicable. Of course, if the
-         test suite uses syntax other than "make check", revise the
-         line to reflect the actual syntax to run the test suite -->
-
-    <!-- <para>This package does not come with a test suite.</para> -->
-    <!-- <para>To test the results, issue: <command>make check</command>.</para> -->
-
   <!ENTITY xfce-download-http "http://downloads.sourceforge.net/xfce/xfce-&xfce-version;-src.tar.bz2">
   <!ENTITY xfce-download-ftp  " ">
-  <!ENTITY xfce-md5sum        "44e126e47657969657ff86fb558d54ea">
-  <!ENTITY xfce-size          "25 MB">
-  <!ENTITY xfce-buildsize     "219 MB (to build and install everything without deleting any sources)">
-  <!ENTITY xfce-time          "3.5 SBU">
+  <!ENTITY xfce-md5sum        "5dd0ee362dd5782324b88da3cd5b9f1b">
+  <!ENTITY xfce-size          "25 MB">        
+  <!ENTITY xfce-buildsize     "330 MB (to build and install everything without deleting any sources)">
+  <!ENTITY xfce-time          "5 SBU">
+
+  <!ENTITY Terminal-version   "0.2.8">
+  <!ENTITY Thunar-version     "0.9.0">
+  <!ENTITY exo-version        "0.3.4">
+  <!ENTITY gtk-xfce-engine-version "2.4.2">
+  <!ENTITY mousepad-version   "0.2.13">
+  <!ENTITY xfce4-dev-tools-version "4.4.0.1">
+
 ]>
 
-<sect1 id="xfce" xreflabel="XFce-&xfce-version;">
+<sect1 id="xfce" xreflabel="Xfce-&xfce-version;">
   <?dbhtml filename="xfce.html" ?>
 
   <sect1info>
@@ -32,16 +28,16 @@
     <date>$Date$</date>
   </sect1info>
 
-  <title>XFce-&xfce-version;</title>
+  <title>Xfce-&xfce-version;</title>
 
   <indexterm zone="xfce">
-    <primary sortas="a-xfce">XFce</primary>
+    <primary sortas="a-xfce">Xfce</primary>
   </indexterm>
 
   <sect2 role="package">
-    <title>Introduction to XFce</title>
+    <title>Introduction to Xfce</title>
 
-    <para>The <application>XFce</application> package contains a lightweight
+    <para>The <application>Xfce</application> package contains a lightweight
     desktop environment.</para>
 
     <bridgehead renderas="sect3">Package Information</bridgehead>
@@ -66,149 +62,330 @@
       </listitem>
     </itemizedlist>
 
-    <bridgehead renderas="sect3">XFce Dependencies</bridgehead>
+    <bridgehead renderas="sect3">Xfce General Dependencies</bridgehead>
 
     <bridgehead renderas="sect4">Required</bridgehead>
     <para role="required"><xref linkend="gtk2"/> and
     <xref linkend="libxml2"/></para>
-
+    
     <bridgehead renderas="sect4">Optional</bridgehead>
-    <para role="optional"><xref linkend="gdm"/>,
-    <xref linkend="librsvg"/>
-    (<application>xffm</application> links to <application>librsvg</application>
-    automatically if <application>librsvg</application> is installed),
-    <xref linkend="libgtkhtml"/>,
+    <para role="optional"><xref linkend="libxslt"/>,
+    <xref linkend="intltool"/>,
     <xref linkend="startup-notification"/>, and
-    <xref linkend="a2ps"/>
-    (required to build <application>xfprint</application>).</para>
+    <xref linkend="gtk-doc"/> (untested by BLFS editors)</para>
+    
+    
+    
+    <para>Xfce components have additional dependencies upon each other
+    and upon external packages. They are summarized below.</para>
 
-    <para condition="html" role="usernotes">User Notes:
-    <ulink url="&blfs-wiki;/xfce"/></para>
+    <bridgehead renderas="sect3" id="libxfce4util"
+      xreflabel="libxfce4util-&xfce-version;">libxfce4util</bridgehead>
+    <para>Libxfce4util is a basic utility library for Xfce4.</para>
+    <para>Libxfce4util has no external dependencies.</para>
+    
+    <bridgehead renderas="sect3" id="libxfcegui4"
+      xreflabel="libxfcegui4-&xfce-version;">libxfcegui4</bridgehead>
+    <para>Libxfcegui4 is a library that contains various <xref linkend="gtk2"/> widgets for Xfce.</para>
+    <para>Libxfcegui4 depends on <xref linkend="libxfce4util"/>.</para>
+    
+    <bridgehead renderas="sect3" id="libxfce4mcs"
+      xreflabel="libxfce4mcs-&xfce-version;">libxfce4mcs</bridgehead>
+    <para>Libxfce4mcs is a library that provides multi-channel settings management support for Xfce.</para>
+    <para>Libxfce4mcs depends on <xref linkend="libxfce4util"/>.</para>
+    
+    <bridgehead renderas="sect3" id="xfce-mcs-manager"
+      xreflabel="xfce-mcs-manager-&xfce-version;">xfce-mcs-manager</bridgehead>
+    <para>Xfce-mcs-manager is a graphical settings manager for Xfce.</para>
+    <para>Xfce-mcs-manager depends on <xref linkend="libxfcegui4"/>, and
+    <xref linkend="libxfce4mcs"/>.</para>
 
-  </sect2>
+    <bridgehead renderas="sect3" id="xfce-mcs-plugins"
+      xreflabel="xfce-mcs-plugins-&xfce-version;">xfce-mcs-plugins</bridgehead>
+    <para>Xfce-mcs-plugins is a set of plugins for the multi channel settings manager.
+    With these plugins, a user can change display settings, themes, fonts and similar
+    desktop parameters.</para>
+    <para>Xfce-mcs-plugins depend on <xref linkend="libxfcegui4"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <!-- aumix (runtime, optional, patched out below), --> and
+    <xref linkend="dbus"/> (optional, needed only at runtime, to send commands
+    to the <xref linkend="Thunar"/> file manager).</para>
+    
+    <bridgehead renderas="sect3" id="xfwm4"
+      xreflabel="xfwm4-&xfce-version;">xfwm4</bridgehead>
+    <para>Xfwm4 is a window manager.</para>
+    <para>Xfwm4 depends on <xref linkend="intltool"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="libxfcegui4"/>, and
+    <xref linkend="xfce-mcs-manager"/>.</para>
 
-  <sect2 role="installation">
-    <title>Installation of XFce</title>
+    <bridgehead renderas="sect3" id="xfwm4-themes"
+      xreflabel="xfwm4-themes-&xfce-version;">xfwm4-themes</bridgehead>
+    <para>The xfwm4-themes package contains extra themes for xfwm4.</para>
+    <para>xfwm4-themes have no external dependencies.</para>
 
-    <para>A bare minimum <application>XFce</application> setup requires
-    installation of the following packages:</para>
+    <bridgehead renderas="sect3" id="xfce4-panel"
+      xreflabel="xfce4-panel-&xfce-version;">xfce4-panel</bridgehead>
+    <para>Xfce4-panel is the panel for the Xfce desktop environment. It
+    contains launchers for programs, the clock, and other applets.</para>
+    <para>Xfce4-panel depends on <xref linkend="intltool"/>,
+    <xref linkend="libxfce4util"/>,and
+    <xref linkend="xfce-mcs-manager"/>.</para>
 
-    <itemizedlist spacing='compact'>
-      <listitem>
-        <para>libxfce4util-&xfce-version;.2</para>
-      </listitem>
-      <listitem>
-        <para>dbh-1.0.24</para>
-      </listitem>
-      <listitem>
-        <para>libxfcegui4-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>libxfce4mcs-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce-mcs-manager-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfwm4-&xfce-version;.2</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-panel-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfdesktop-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce-utils-&xfce-version;</para>
-      </listitem>
-    </itemizedlist>
+    <bridgehead renderas="sect3" id="xfce4-session"
+      xreflabel="xfce4-session-&xfce-version;">xfce4-session</bridgehead>
+    <para>Xfce4-session is the session manager for the Xfce desktop environment.</para>
+    <para>Xfce4-session depends on <xref linkend="libxfce4util"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="dbus"/> (optional, untested by BLFS editors, needed
+    for <xref linkend="hal"/>-based shutdown support, which also needs
+    <ulink url="http://hal.freedesktop.org/releases/">PolicyKit</ulink> and
+    <ulink url="http://www.freedesktop.org/wiki/Software/ConsoleKit">ConsoleKit</ulink>
+    packages, which are not in BLFS), <xref linkend="sudo"/>
+    (optional, needed at runtime for non-HAL-based shutdown support), and
+    <xref linkend="GConf"/> (optional, needed for Assistive Technologies support,
+    untested by BLFS editors).</para>
 
-    <para>Install the minimum applications by issuing the following
-    commands:</para>
+    <bridgehead renderas="sect3" id="xfce4-mixer"
+      xreflabel="xfce4-mixer-&xfce-version;">xfce4-mixer</bridgehead>
+    <para>Xfce4-mixer contains an applet that controls sound volume levels.</para>
+    <para>Xfce4-mixer depends on <xref linkend="libxfcegui4"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="xfce4-panel"/> (optional), and
+    <xref linkend="alsa-lib"/> (optional but highly recommended, because not all
+    controls on modern sound cards are accessible to OSS applications).</para>
 
-<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc &&
-make</userinput></screen>
+    <bridgehead renderas="sect3" id="gtk-xfce-engine"
+      xreflabel="gtk-xfce-engine-&gtk-xfce-engine-version;">gtk-xfce-engine</bridgehead>
+    <para>Gtk-xfce-engine contains <xref linkend="gtk2"/> themes.</para>
+    <para>Gtk-xfce-engine has no external dependencies.</para>
 
-    <para>If you use <xref linkend="gdm"/> as your display manager and would
-    like to be able to log into an <application>XFce</application> session from
-    the login prompt, pass the <parameter>--enable-gdm</parameter> option to
-    the <application>xfce-utils</application>-&xfce-version;
-    <command>configure</command> script (requires <xref linkend="which"/> to be
-    installed at run time).</para>
+    <bridgehead renderas="sect3" id="orage"
+      xreflabel="orage-&xfce-version;">orage</bridgehead>
+    <para>Orage is a time-managing application for the Xfce desktop environment.</para>
+    <para>Orage depends on <xref linkend="libxfce4mcs"/>,
+    <xref linkend="libxfcegui4"/>,
+    <xref linkend="xfce4-panel"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <ulink url="http://sourceforge.net/projects/freeassociation/">libical</ulink>
+    (optional, an internal copy is used if external libical is not found,
+    external libical-0.27 is known to
+    <ulink url="http://www.nabble.com/Re:--Libical--libical-0.27-is-now-available-t3444157.html">misinterpret</ulink>
+    <!-- FIXME: what about the internal version? -->
+    daylight time saving rules in the USA), and
+    <xref linkend="db"/> (optional, part of LFS).</para>
+    
+    <bridgehead renderas="sect3" id="xfce4-appfinder"
+      xreflabel="xfce4-appfinder-&xfce-version;">xfce4-appfinder</bridgehead>
+    <para>Xfce4-appfinder shows system-wide installed applications.</para>
+    <para>Xfce4-appfinder depends on <xref linkend="libxfcegui4"/>.</para>
 
-    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
+    <bridgehead renderas="sect3" id="xfce4-icon-theme"
+      xreflabel="xfce4-icon-theme-&xfce-version;">xfce4-icon-theme</bridgehead>
+    <para>Xfce4-icon-theme contains more than 500 48x48 and scalable icons for
+    <xref linkend="gtk2"/> applications.</para>
+    <para>Xfce4-icon-theme depends on <xref linkend="intltool"/>.</para>
 
-<screen role="root"><userinput>make install</userinput></screen>
+    <bridgehead renderas="sect3" id="exo"
+      xreflabel="exo-&exo-version;">EXO</bridgehead>
+    <para>EXO is an extension library for Xfce, targeted at application development.
+    It contains some additional <xref linkend="gtk2"/> widgets and helpers that run
+    the preferred applications.</para>
+    <para>EXO depends on <ulink url="http://cpan.org/authors/id/G/GA/GAAS/URI-1.35.tar.gz">URI-1.35</ulink>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="hal"/> (optional, not recommended, see explanation below),
+    <ulink url="http://www.galago-project.org/">libnotify</ulink> (optional, 
+    useless without <xref linkend="hal"/>, see explanation below), and
+    <ulink url="http://www.pygtk.org/">PyGTK</ulink> (optional, untested).</para>
 
-    <para>In addition, you may choose to install:</para>
+    <bridgehead renderas="sect3" id="Terminal"
+      xreflabel="Terminal-&Terminal-version;">Terminal</bridgehead>
+    <para>Terminal is a VT-100 terminal emulator for xfce.</para>
+    <para>Terminal depends on <xref linkend="exo"/>,
+    <xref linkend="vte"/>,
+    <xref linkend="dbus"/> (optional, with <xref linkend="glib2"/> bindings).</para>
 
-    <itemizedlist spacing='compact'>
-      <listitem>
-        <para>gtk-xfce-engine-2.2.8</para>
-      </listitem>
-      <listitem>
-        <para>xfcalendar-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce-mcs-plugins-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-appfinder-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-icon-theme-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-iconbox-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-mixer-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-session-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-systray-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-toys-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-trigger-launcher-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xffm-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfprint-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfwm4-themes-&xfce-version;</para>
-      </listitem>
-    </itemizedlist>
+    <bridgehead renderas="sect3" id="xfprint"
+      xreflabel="xfprint-&xfce-version;">xfprint</bridgehead>
+    <para>Xfprint contains a print dialog and a printer manager for Xfce.</para>
+    <para>Xfprint depends on <xref linkend="libxfcegui4"/>, and
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="a2ps"/> (optional),
+    <xref linkend="enscript"/>, and
+    <xref linkend="cups"/> or <xref linkend="LPRng"/>. Due to the use of
+    <xref linkend="a2ps"/> and <xref linkend="enscript"/>, it
+    <ulink url="http://bugzilla.xfce.org/show_bug.cgi?id=783">cannot</ulink>
+    print UTF-8 encoded text files.</para>
 
-    <para>Install the remaining applications using the following
-    commands:</para>
+    <bridgehead renderas="sect3" id="mousepad"
+      xreflabel="mousepad-&mousepad-version;">mousepad</bridgehead>
+    <para>Mousepad is a plain text editor for Xfce.</para>
+    <para>Mousepad depends on <xref linkend="libxfcegui4"/>, printing support requires
+    <xref linkend="xfprint"/> at runtime.</para>
+    
+    <bridgehead renderas="sect3" id="xfce-utils"
+      xreflabel="xfce-utils-&xfce-version;">xfce-utils</bridgehead>
+    <para>The xfce-utils package contains files needed to start Xfce from
+    <xref linkend="gdm"/>,
+    and the <command>startxfce4</command>, <command>xfbrowser4</command>,
+    <command>xfhelp4</command>, <command>xflock4</command>
+    (needs <xref linkend="xscreensaver"/> or
+    <ulink url="http://www.tux.org/~bagleyd/xlockmore.html">xlockmore</ulink> at runtime),
+    <command>xfmountdev4</command>, <command>xfterm4</command>,
+    <command>xfce4-about</command>, and <command>xfrun</command>
+    utilities.</para>
+    <para>Xfce-utils depend on <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="libxfcegui4"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="dbus"/> with <xref linkend="glib2"/> bindings (optional), and
+    <xref linkend="gdm"/> (optional, untested by BLFS editors).</para>
+    
+    <bridgehead renderas="sect3" id="Thunar"
+      xreflabel="Thunar-&Thunar-version;">Thunar</bridgehead>
+    <para>Thunar is a file manager for Xfce.</para>
+    <para>Thunar depends on <xref linkend="exo"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="xfce4-panel"/> (optional, for trash can support),
+    <xref linkend="libjpeg"/>,
+    <xref linkend="libexif"/> (optional, for the "Image" properties page),
+    <xref linkend="pcre"/> (optional, for the "Search & Replace" renamer),
+    <!-- <xref linkend="fam"/> or --><xref linkend="gamin"/> (optional)
+    <xref linkend="dbus"/> with <xref linkend="glib2"/> bindings (optional),
+    <xref linkend="hal"/> (optional, not recommended), and
+    <xref linkend="GConf"/> (optional, for support of GNOME thumbnailers,
+    untested by BLFS editors).</para>
+    
+    <bridgehead renderas="sect3" id="xfdesktop"
+      xreflabel="xfdesktop-&xfce-version;">xfdesktop</bridgehead>
+    <para>The xfdesktop package contains a desktop manager for Xfce.</para>
+    <para>Xfdesktop depends on <xref linkend="intltool"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="libxfcegui4"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="Thunar"/> (optional, for file icons on desktop),
+    <xref linkend="dbus"/> (optional, for file icons on desktop),
+    <xref linkend="exo"/> (optional, for nifty icon effects),
+    <xref linkend="xfce4-panel"/> (optional).</para>
+    
+    <bridgehead renderas="sect3" id="xfce4-dev-tools"
+      xreflabel="xfce4-dev-tools-&xfce4-dev-tools-version;">xfce4-dev-tools</bridgehead>
+    <para>The xfce4-dev-tools package contains common tools required by Xfce developers and people
+    that want to build Xfce from SVN. In addition, this package contains the
+    Xfce developer's handbook.</para>
+    <para>The xfce4-dev-tools package has no external dependencies.</para>
 
-<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc \
-     --libexecdir=/usr/lib/xfce4 &&
+    <bridgehead renderas="sect3" id="xfce4-unwanted">Unwanted dependencies</bridgehead>
+
+    <para>Some of Xfce components have optional dependencies on HAL. E.g.,
+    <xref linkend="exo"/> and <xref linkend="Thunar"/> use HAL as a volume
+    manager in order to mount removable media. However, HAL-based volume
+    manager is currently very buggy, so it is a good idea to disable it.</para>
+
+    <para>E.g., in non-English
+    environments, it is often needed to pass <quote>iocharset</quote>
+    and <quote>codepage</quote> mount options.
+    The need for non-default mount options also exists for English users:
+    the kernel version in LFS (2.6.22.x) has a
+    <ulink url="https://launchpad.net/bugs/133567">bug</ulink> that causes the
+    statfs(2) syscall (used in order to determine the amount of free space) to take
+    too much time (up to a minute for a filesystem on a 80 GB video iPod) unless
+    the <quote>usefree</quote> option is passed at mount time.
+    However, this is currently
+    <ulink url="http://bugzilla.xfce.org/show_bug.cgi?id=2891">impossible</ulink>
+    to achieve without adding all possible removable devices into
+    <filename>/etc/fstab</filename>, because default mount options are
+    hard-coded in the <command>exo-mount</command> program.</para>
+    
+    <para>Also, the automounter throws cryptic HAL error messages at the user
+    when the user
+    <ulink url="http://bugzilla.xfce.org/show_bug.cgi?id=2968">presses
+    the Eject button on a CD-ROM drive</ulink>.</para>
+    
+    <para>Installation instructions below make sure that HAL is not used as a
+    volume manager even if found.</para>
+    
+    <para><ulink url="http://www.galago-project.org/">libnotify</ulink> provides
+    support for desktop notifications. The only source of such notifications in
+    Xfce itself is <command>Thunar</command>, which (if compiled with HAL)
+    notifies the user when it is safe to remove the media. However, HAL
+    dependency is unwanted, as explained above. Additionally, in order to
+    actually see the notifications, one needs to compile
+    <ulink url="http://goodies.xfce.org/projects/applications/notification-daemon-xfce">notification-daemon-xfce</ulink>,
+    which depends upon <ulink url="http://www.chipx86.com/wiki/Libsexy">libsexy</ulink>.</para>
+
+    <para>The <command>xfce4-tips</command> command from
+    the <xref linkend="xfce4-session"/> package uses
+    <ulink url="http://www.redellipse.net/code/fortune">Fortune</ulink>
+    in order to display tips and funny quotes on startup. However,
+    it is buggy:
+    <ulink url="http://bugzilla.xfce.org/show_bug.cgi?id=2020">does not remember</ulink>
+    the preference what to display
+    (tips or quotes), and does not display non-English quotes correctly
+    in non-UTF-8 locales. For these reasons, installation of this
+    nearly-useless program is disabled below.</para>
+    
+    <para condition="html" role="usernotes">User Notes:
+    <ulink url="&blfs-wiki;/xfce"/></para>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Xfce</title>
+
+    <para>Build and install the Xfce components in the order listed above by issuing
+    the following commands for each package:</para>
+
+<screen><userinput>sed -i '/xfce4-tips/d' Makefile.in &&
+./configure --prefix=/usr --sysconfdir=/etc \
+    --libexecdir=/usr/lib/xfce4 --enable-debug=no \
+    --disable-python --enable-session-screenshots \
+    --with-sound=alsa --disable-hal --with-volume-manager=none &&
 make</userinput></screen>
 
+    <para>Arguments that make no sense for a package (e.g.,
+    <parameter>--with-sound=alsa</parameter> for
+    <xref linkend="xfce4-dev-tools"/>) are slently ignored, and thus
+    they are harmless.</para>
+    
+    <para>If you use <xref linkend="gdm"/> as your display manager and would
+    like to be able to log into an <application>Xfce</application> session from
+    the GDM login screen, pass the <parameter>--enable-gdm</parameter> option to
+    the <application>xfce-utils</application>-&xfce-version;
+    <command>configure</command> script (requires <xref linkend="which"/> to be
+    installed at run time).</para>
+
     <para>Also, <application>xfprint</application> can be configured with
     <parameter>--enable-cups</parameter> if you have <xref linkend="cups"/>
     installed.</para>
 
-    <para>And then as <systemitem class="username">root</systemitem>:</para>
+    <para>After building a package, run as the <systemitem class="username">root</systemitem> user:</para>
 
 <screen role="root"><userinput>make install</userinput></screen>
 
-    <para>As the <systemitem class="username">root</systemitem> user, move the
+    <para>When all packages are built and installed, 
+    as the <systemitem class="username">root</systemitem> user, move the
     help documentation to the standard BLFS location and modify the help script to
     look for it there:</para>
 
 <screen role="root"><userinput>mv -vf /usr/share/xfce4/doc /usr/share/doc/xfce4 &&
 sed -i 's at xfce4/doc at doc/xfce4@' /usr/bin/xfhelp4</userinput></screen>
 
+      <para>Run the following command as the
+      <systemitem class="username">root</systemitem> user in order
+      to change the actions bound to multimedia keys
+      to use the <command>amixer</command> command from <xref linkend="alsa-utils"/>
+      instead of the old OSS-only
+      <command>aumix</command> program:</para>
+      
+<screen role="root"><userinput>sed -i 's/aumix -v\([+-]\?\)\([^"]*\)/amixer set Master \2%\1/' \
+    /usr/share/xfce-mcs-plugins/shortcuts/default.xml</userinput></screen>
+
+      <note><para>Users of Intel HD Audio onboard sound chips should replace
+      <quote>Master</quote> with <quote>PCM</quote> in the command above,
+      because such chips have no Master control.</para></note>
+
   </sect2>
 
   <sect2 role="commands">
@@ -227,33 +404,63 @@
     <application>xfce4-session</application> requires this parameter to
     install some utility programs to the correct location.</para>
 
+    <para><parameter>--disable-hal</parameter>: disables <xref linkend="hal"/>
+    support in <xref linkend="exo"/>.</para>
+
+    <para><parameter>--with-volume-manager=none</parameter>: disables <xref linkend="hal"/>
+    support in <xref linkend="Thunar"/>.</para>
+
+    <para><parameter>--disable-python</parameter>: disables building <xref linkend="python"/>
+    bindings in <xref linkend="exo"/>.</para>
+
+    <para><parameter>--enable-session-screenshots</parameter>: allows <xref linkend="xfce4-session"/>
+    to create screenshots on logout.</para>
+
+    <para><parameter>--with-sound=alsa</parameter>: tells <xref linkend="xfce4-mixer"/>
+    to use the sound system native to Linux.</para>
+
+    <para><command>sed -i '/xfce4-tips/d' Makefile.in</command>: disables the build
+    of the useless <command>xfce4-tips</command> program.</para>
   </sect2>
 
   <sect2 role="configuration">
-    <title>Configuring XFce</title>
+    <title>Configuring Xfce</title>
 
     <sect3 id='xfce-config'>
+      <title>Config files</title>
+      <para><application>Xfce</application> looks for its configuration files
+      in <filename class="directory">~/.config</filename> and
+      <filename class="directory">/etc/xdg</filename> directories. Thus, for
+      changing system-wide default preferences, create or edit files in
+      <filename class="directory">/etc/xdg</filename>, using the contents
+      of <filename class="directory">~/.config</filename> as a model.</para>
+    </sect3>
+    
+    <sect3>
       <title>Configuration Information</title>
 
-      <para><application>XFce</application> will look for the theme index from
+      <para><application>Xfce</application> will look for the theme index from
       <xref linkend="hicolor-icon-theme"/> at run-time. Ensure you install the
-      package before launching <application>XFce</application>.</para>
+      package before launching <application>Xfce</application>. Also, Xfce comes
+      with SVG icons specific to it. Installation of <xref linkend="librsvg"/> is
+      required in order to avoid broken icons.</para>
 
       <para>Issue the command below to create an <filename>.xinitrc</filename>
       file which will automatically run the appropriate
-      <application>XFce</application> programs when the
+      <application>Xfce</application> programs when the
       <application>X</application> Window system is launched. Be sure to backup
       your existing <filename>.xinitrc</filename> file before
       proceeding.</para>
 
-<screen><userinput>cat > ~/.xinitrc << "EOF"
-<literal>xfce-mcs-manager
-xfwm4 --daemon
-xftaskbar4 &
-xfdesktop &
-exec xfce4-panel</literal>
-EOF</userinput></screen>
+<screen><userinput>echo "exec startxfce4" >~/.xinitrc</userinput></screen>
 
+      <para>In order to allow all users to shut down and reboot the computer
+      from Xfce, install <xref linkend="sudo"/> and, using the
+      <command>visudo</command> command, add the following line to the
+      <filename>/etc/sudoers</filename> file:</para>
+
+<screen>ALL	ALL=NOPASSWD:/usr/sbin/xfsm-shutdown-helper ""</screen>
+
       <indexterm zone="xfce xfce-config">
         <primary sortas="e-AA.xinitrc">~/.xinitrc</primary>
       </indexterm>
@@ -262,6 +469,45 @@
 
   </sect2>
 
+  <sect2>
+    <title>Further steps</title>
+    <para>Many useful programs, panel plugins, and themes for
+    Xfce4 are available from the
+    <ulink url="http://goodies.xfce.org/">Xfce Goodies Project</ulink>
+    web site. You may want to install:</para>
+    <itemizedlist>
+
+      <listitem><para><ulink url="http://goodies.xfce.org/projects/panel-plugins/xfce4-mount-plugin">Xfce4 mount plugin</ulink>:
+      a panel plugin that allows to mount and unmount filesystems
+      listed in <filename>/etc/fstab</filename>, and also shows
+      the amount of free disk space.</para></listitem>
+
+      <listitem><para><ulink url="http://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin">Xfce4 Net Load plugin</ulink>:
+      a panel plugin that shows the current load of the network
+      interfaces of your choice.</para></listitem>
+
+      <listitem><para><ulink url="http://goodies.xfce.org/projects/panel-plugins/xfce4-xkb-plugin">Xfce4 XKB plugin</ulink>:
+      a panel plugin that displays the current keyboard layout
+      and allows to change it with a single mouse click.</para></listitem>
+
+<!--  uncomment when they update for libburn-0.4.0
+
+      <listitem><para><ulink url="http://www.xfce.org/projects/xfburn/">Xfburn</ulink>:
+      a data CD burner for Xfce
+      (needs <ulink url="http://libburnia.pykix.org/">libburn and libisofs</ulink>).<para></listitem>
+
+-->
+
+      <listitem><para><ulink url="http://xarchiver.xfce.org/">Xarchiver</ulink>:
+      a graphical front-end for most archivers.</para></listitem>
+
+      <listitem><para><ulink url="http://spuriousinterrupt.org/projects/xfmedia">Xfmedia</ulink>:
+      a media player based on <xref linkend="xine-lib"/>. Video support is buggy,
+      compiling with CFLAGS="-O0" may or may not help.</para></listitem>
+      
+    </itemizedlist>
+  </sect2>
+  
   <sect2 role="content">
     <title>Contents</title>
 
@@ -271,279 +517,24 @@
       <segtitle>Installed Directories</segtitle>
 
       <seglistitem>
-        <seg>fgr, scramble, startxfce4, xfbook, xfbook4, xfcalendar,
-        xfce-mcs-manager, xfce-setting-show, xfce4-about,
-        xfce4-appfinder, xfce4-iconbox, xfce4-kiosk-query,
-        xfce4-menueditor, xfce4-mixer, xfce4-panel, xfce4-session,
-        xfce4-session-logout, xfce4-tips, xfdesktop, xfdiff4, xffm,
-        xffrequent, xffrequent4, xffstab, xffstab4, xfglob4, xfhelp4,
-        xflock4, xfmime-edit, xfmountdev4, xfrecent, xfrecent4,
-        xfprint-manager, xfprint4, xfrun4, xfsamba4, xftaskbar4,
-        xfterm4, xftrash4, xftree4, and xfwm4</seg>
-        <seg id='xfcelibs'>libxfce4util.{a,so}, libdbh.{a,so}, libxfcegui4.{a,so},
-        libxfce4mcs.{a,so}, libxffm_actions.so, libxffm_basic.so, libxffm_calls.so,
-        libxffm_cpy.so, libxffm_on_demand.so, libxffm_secondary.so, libxffm_tubo.so,
+        <seg>more than 50 binaries and scripts</seg>
+        <seg id='xfcelibs'>libexo-0.3.{a,so},
+        libexo-hal-0.3.{a,so},
+        libthunar-vfs-1.{a,so},
+        libthunarx-1.{a,so},
+        libxfce4mcs-client.{a,so},
+        libxfce4mcs-manager.{a,so},
+        libxfce4panel.{a,so},
+        libxfce4util.{a,so},
+        libxfcegui4.{a,so},
         libxfsm-4.2.{a,so}</seg>
-        <seg>/usr/lib/xfce4, /usr/share/doc/xfce4, /usr/share/xfce4, /usr/share/xffm
+        
+        <seg>/usr/lib/thunarx-1, /usr/lib/xfce4, /usr/share/doc/xfce4, /usr/share/xfce4, /usr/share/Terminal,
+        /usr/share/Thunar, /usr/share/orage, /usr/share/xfce-mcs-plugins, /usr/share/xfce4-menueditor,
         and /usr/share/xfwm4</seg>
       </seglistitem>
     </segmentedlist>
 
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxfce4util">libxfce4util.[a,so]</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libdbh">libdbh.[a,so]</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxfcegui4">libxfcegui4.[a,so]</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxfce4mcs">libxfce4mcs.[a,so]</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxffm_actions.so">libxffm_actions.so</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxffm_basic.so">libxffm_basic.so</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxffm_calls.so">libxffm_calls.so</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxffm_cpy.so">libxffm_cpy.so</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxffm_on_demand.so">libxffm_on_demand.so</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxffm_secondary.so">libxffm_secondary.so</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxffm_tubo.so">libxffm_tubo.so</primary>
-    </indexterm>
-
-    <indexterm zone="xfce xfcelibs">
-      <primary sortas="c-libxfsm-4.2.so">libxfsm-4.2.[a,so]</primary>
-    </indexterm>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="fgr">
-        <term><command>fgr</command></term>
-        <listitem>
-          <para>is a file content search engine for
-          <command>xffm</command>.</para>
-          <indexterm zone="xfce fgr">
-            <primary sortas="b-fgr">fgr</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="startxfce4">
-        <term><command>startxfce4</command></term>
-        <listitem>
-          <para>is a script which starts up the <application>XFce</application> Desktop
-          Environment.</para>
-          <indexterm zone="xfce startxfce4">
-            <primary sortas="b-startxfce4">startxfce4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfce-mcs-manager">
-        <term><command>xfce-mcs-manager</command></term>
-        <listitem>
-          <para>is the settings manager for
-          <application>XFce</application>.</para>
-          <indexterm zone="xfce xfce-mcs-manager">
-            <primary sortas="b-xfce-mcs-manager">xfce-mcs-manager</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfce4-about">
-        <term><command>xfce4-about</command></term>
-        <listitem>
-          <para>displays the about box.</para>
-          <indexterm zone="xfce xfce4-about">
-            <primary sortas="b-xfce4-about">xfce4-about</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfce4-session">
-        <term><command>xfce4-session</command></term>
-        <listitem>
-          <para>saves the state of your desktop and restores it when you next start
-          <application>XFce</application>.</para>
-          <indexterm zone="xfce xfce4-session">
-            <primary sortas="b-xfce4-session">xfce4-session</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfce-setting-show">
-        <term><command>xfce-setting-show</command></term>
-        <listitem>
-          <para>displays the settings for
-          <application>XFce</application>.</para>
-          <indexterm zone="xfce xfce-setting-show">
-            <primary sortas="b-xfce-setting-show">xfce-setting-show</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfce4-panel">
-        <term><command>xfce4-panel</command></term>
-        <listitem>
-          <para>is the panel manager for <application>XFce</application>.
-          It contains the launcher, clock, mail check, desktop switcher and
-          separator programs.</para>
-          <indexterm zone="xfce xfce4-panel">
-            <primary sortas="b-xfce4-panel">xfce4-panel</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfdesktop">
-        <term><command>xfdesktop</command></term>
-        <listitem>
-          <para> is the desktop manager for
-          <application>XFce</application>.</para>
-          <indexterm zone="xfce xfdesktop">
-            <primary sortas="b-xfdesktop">xfdesktop</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfhelp4">
-        <term><command>xfhelp4</command></term>
-        <listitem>
-          <para>is script that launches a HTML browser to
-          display online documentation. It requires <command>which</command> to
-          run.</para>
-          <indexterm zone="xfce xfhelp4">
-            <primary sortas="b-xfhelp4">xfhelp4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xflock4">
-        <term><command>xflock4</command></term>
-        <listitem>
-          <para>is a script used to lock the current screen during drag
-          and drop actions.</para>
-          <indexterm zone="xfce xflock4">
-            <primary sortas="b-xflock4">xflock4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfmountdev4">
-        <term><command>xfmountdev4</command></term>
-        <listitem>
-          <para>mounts a device on the specified mount point and launches
-          <command>xftree4</command>, then unmounts the device when
-          <command>xftree4</command> finishes.</para>
-          <indexterm zone="xfce xfmountdev4">
-            <primary sortas="b-xfmountdev4">xfmountdev4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfrun4">
-        <term><command>xfrun4</command></term>
-        <listitem>
-          <para>is the program launcher for
-          <application>XFce</application>.</para>
-          <indexterm zone="xfce xfrun4">
-            <primary sortas="b-xfrun4">xfrun4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfsamba4">
-        <term><command>xfsamba4</command></term>
-        <listitem>
-          <para> is the <application>Samba</application> front end for
-          <application>XFce</application>.</para>
-          <indexterm zone="xfce xfsamba4">
-            <primary sortas="b-xfsamba4">xfsamba4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xftaskbar4">
-        <term><command>xftaskbar4</command></term>
-        <listitem>
-          <para>is the taskbar manager for
-          <application>XFce</application>.</para>
-          <indexterm zone="xfce xftaskbar4">
-            <primary sortas="b-xftaskbar4">xftaskbar4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfterm4">
-        <term><command>xfterm4</command></term>
-        <listitem>
-          <para>is a small terminal wrapper to be used as a drag and drop
-          action for the <application>XFce</application> front panel. It requires
-          <command>which</command> to run.</para>
-          <indexterm zone="xfce xfterm4">
-            <primary sortas="b-xfterm4">xfterm4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xftrash4">
-        <term><command>xftrash4</command></term>
-        <listitem>
-          <para>is a small binary to be used as a drag and drop action for the
-          <application>XFce</application> front panel.</para>
-          <indexterm zone="xfce xftrash4">
-            <primary sortas="b-xftrash4">xftrash4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xffm">
-        <term><command>xffm</command></term>
-        <listitem>
-          <para>is the file manager for <application>XFce</application>.</para>
-          <indexterm zone="xfce xffm">
-            <primary sortas="b-xftree4">xffm</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="xfwm4">
-        <term><command>xfwm4</command></term>
-        <listitem>
-          <para>is an <application>X11</application> window manager for
-          <application>XFce</application>.</para>
-          <indexterm zone="xfce xfwm4">
-            <primary sortas="b-xfwm4">xfwm4</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
   </sect2>
 
 </sect1>




More information about the blfs-book mailing list