<?xml version="1.0" encoding="ISO8859-1" standalone="no"?>
<!--
     The FreeBSD Documentation Project
     $FreeBSD$
-->

<chapter id="desktop">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Christophe</firstname>
	<surname>Juniet</surname>
	<contrib>Contributed by </contrib>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Desktop Applications</title>

  <sect1 id="desktop-synopsis">
    <title>Synopsis</title>

    <para>FreeBSD can run a wide variety of desktop applications, such
      as browsers and word processors.  Most of these are available as
      packages or can be automatically built from the Ports Collection.
      Many new users expect to find these kinds of
      applications on their desktop.  This chapter will show you how
      to install some popular desktop applications effortlessly,
      either from their packages or from the Ports Collection.</para>

    <para>Note that when installing programs from the ports, they are
      compiled from source.  This can take a very long time, depending
      on what you are compiling and the processing power of your
      machine(s).  If building from source takes a prohibitively long
      amount of time for you, you can install most of the programs of
      the Ports Collection from pre-built packages.</para>

    <para>As FreeBSD features Linux binary compatibility, many
      applications originally developed for Linux are available for
      your desktop.  It is strongly recommended that you read
      <xref linkend="linuxemu"/> before installing any of the Linux
      applications.  Many of the ports using the Linux binary
      compatibility start with <quote>linux-</quote>.  Remember this
      when you search for a particular port, for instance with
      &man.whereis.1;.  In the following text, it is assumed that you
      have enabled Linux binary compatibility before installing any of
      the Linux applications.</para>

    <para>Here are the categories covered by this chapter:</para>

    <itemizedlist>
      <listitem>
	<para>Browsers (such as <application>Firefox</application>,
	  <application>Opera</application>,
	  <application>Konqueror</application>,
	  <application>Chromium</application>)</para>
      </listitem>

      <listitem>
	<para>Productivity (such as
	  <application>KOffice</application>,
	  <application>AbiWord</application>,
	  <application>The GIMP</application>,
	  <application>OpenOffice.org</application>,
	  <application>LibreOffice</application>)</para>
      </listitem>

      <listitem>
	<para>Document Viewers (such as <application>&acrobat.reader;</application>,
	  <application>gv</application>,
	  <application>Xpdf</application>,
	  <application>GQview</application>)</para>
      </listitem>

      <listitem>
	<para>Finance (such as
	  <application>GnuCash</application>,
	  <application>Gnumeric</application>,
	  <application>Abacus</application>)</para>
      </listitem>
    </itemizedlist>

    <para>Before reading this chapter, you should:</para>

    <itemizedlist>
      <listitem>
	<para>Know how to install additional third-party software
	  (<xref linkend="ports"/>).</para>
      </listitem>

      <listitem>
	<para>Know how to install additional Linux software
	  (<xref linkend="linuxemu"/>).</para>
      </listitem>
    </itemizedlist>

    <para>For information on how to get a multimedia environment, read
      <xref linkend="multimedia"/>.  If you want to set up and use
      electronic mail, please refer to <xref linkend="mail"/>.</para>
  </sect1>

  <sect1 id="desktop-browsers">
    <title>Browsers</title>

    <indexterm>
      <primary>browsers</primary>
      <secondary>web</secondary>
    </indexterm>

    <para>FreeBSD does not come with a particular browser
      pre-installed.  Instead, the
      <ulink url="http://www.FreeBSD.org/ports/www.html">www</ulink>
      directory of the Ports Collection contains a lot of browsers
      ready to be installed.  If you do not have time to compile
      everything (this can take a very long time in some cases) many
      of them are available as packages.</para>

    <para><application>KDE</application> and
      <application>GNOME</application> already provide HTML browsers.
      Please refer to <xref linkend="x11-wm"/> for more information on
      how to set up these complete desktops.</para>

    <para>If you are looking for light-weight browsers, you should
      investigate the Ports Collection for
      <filename role="package">www/dillo2</filename>,
      <filename role="package">www/links</filename>, or
      <filename role="package">www/w3m</filename>.</para>

    <para>This section covers these applications:</para>

    <informaltable frame="none" pgwide="1">
      <tgroup cols="4">
	<thead>
	  <row>
	    <entry>Application Name</entry>
	    <entry>Resources Needed</entry>
	    <entry>Installation from Ports</entry>
	    <entry>Major Dependencies</entry>
	  </row>
	</thead>

	<tbody>
	  <row>
	    <entry><application>Firefox</application></entry>
	    <entry>medium</entry>
	    <entry>heavy</entry>
	    <entry><application>Gtk+</application></entry>
	  </row>

	  <row>
	    <entry><application>Opera</application></entry>
	    <entry>light</entry>
	    <entry>light</entry>
	    <entry>FreeBSD and Linux versions available.  The Linux
	      version depends on the Linux Binary Compatibility and
	      <application>linux-openmotif</application>.</entry>
	  </row>

	  <row>
	    <entry><application>Konqueror</application></entry>
	    <entry>medium</entry>
	    <entry>heavy</entry>
	    <entry><application>KDE</application> Libraries</entry>
	  </row>

	  <row>
	    <entry><application>Chromium</application></entry>
	    <entry>medium</entry>
	    <entry>medium</entry>
	    <entry><application>Gtk+</application></entry>
	  </row>
        </tbody>
      </tgroup>
    </informaltable>

    <sect2>
      <title>Firefox</title>
      <indexterm>
	<primary><application>Firefox</application></primary>
      </indexterm>

      <para><application>Firefox</application> is a modern, free,
	open-source stable browser that is fully ported to &os;: it
	features a very standards-compliant HTML display engine,
	tabbed browsing, popup blocking, extensions, improved
	security, and more.  <application>Firefox</application> is
	based on the <application>Mozilla</application> codebase.</para>

      <para>Install the package by typing:</para>

      <screen>&prompt.root; <userinput>pkg_add -r firefox</userinput></screen>

      <para>This will install the latest release version of
	<application>Firefox</application>,
	if you want to run <application>Firefox</application>
	Extended Support Release (ESR) version, use instead:</para>

      <screen>&prompt.root; <userinput>pkg_add -r firefox-esr</userinput></screen>

      <para>You can also use the Ports Collection if you
	prefer to compile from source code:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/www/firefox</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>For <application>Firefox</application> ESR, in the
	previous command replace <literal>firefox</literal> with
	<literal>firefox-esr</literal>.</para>
    </sect2>

    <sect2 id="moz-java-plugin">
      <title>Firefox and &java; Plugin</title>

      <note>
	<para>In this section and in the next two sections, we assume you have
	  already installed <application>Firefox</application>.</para>
      </note>

      <para>Install <application>OpenJDK 6</application>
	through the Ports Collection by typing:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/java/openjdk6</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>Then install the <filename
	role="package">java/icedtea-web</filename> port:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/java/icedtea-web</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>Make sure you have kept the default configuration options
	for both ports.</para>

      <para>Start your browser, enter <literal>about:plugins</literal>
	in the location bar and press <keycap>Enter</keycap>.  A page
	listing the installed plugins will be displayed; the
	<application>&java;</application> plugin should be listed there
	now.</para>

      <para>If the browser is unable to find the plugin, each user
	will have to run the following command and relaunch the
	browser:</para>

      <screen>&prompt.user; <userinput>ln -s /usr/local/lib/IcedTeaPlugin.so \
  $HOME/.mozilla/plugins/</userinput></screen>
    </sect2>

    <sect2 id="moz-flash-plugin">

    <title>Firefox and &adobe; &flash; Plugin</title>
      <indexterm>
	<primary>Flash</primary>
      </indexterm>

      <para>The &adobe; &flash; plugin is not available for &os;. However,
	a software layer (wrapper) for running the Linux version of the plugin
	exists.  This wrapper also supports &adobe; &acrobat; plugin,
	&realplayer; plugin and more.</para>

      <para>According to the version of &os; you run various steps are
	required:</para>

      <procedure>
	<step>
	  <title>Under &os;&nbsp;7.X</title>

	  <para>Install the <filename
	    role="package">www/nspluginwrapper</filename> port.  This
	    port requires <filename
	    role="package">emulators/linux_base-fc4</filename> which
	    is a large port.</para>

	  <para>The next step is to install the <filename
	    role="package">www/linux-flashplugin9</filename>
	    port.  This will install &flash; 9.X, this version is
	    known to run correctly under &os;&nbsp;7.X.</para>
	</step>

	<step>
	  <title>Under &os;&nbsp;8.X or Newer</title>

	  <para>Install the <filename
	    role="package">www/nspluginwrapper</filename> port.  This
	    port requires <filename
	    role="package">emulators/linux_base-f10</filename> which
	    is a large port.</para>

	  <para>The next step is to install &flash; 11.X from the
	    <filename role="package">www/linux-f10-flashplugin11</filename>
	    port.</para>

	  <para>This version will require the following link to be
	    created:</para>

	  <screen>&prompt.root; <userinput>ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \
  /usr/local/lib/browser_plugins/</userinput></screen>

	  <para>The <filename
	    class="directory">/usr/local/lib/browser_plugins</filename>
	    directory will have to be created manually if it does not
	    exist on the system.</para>
	  </step>
	</procedure>

      <para>Once the right &flash; port, according to the &os; version
	you run,
	is installed, the plugin must be installed by each
	user with <command>nspluginwrapper</command>:</para>

      <screen>&prompt.user; <userinput>nspluginwrapper -v -a -i</userinput></screen>

      <para>Then, start your browser, enter
	<literal>about:plugins</literal> in the location bar and press
	<keycap>Enter</keycap>.
	A list should appear with all the currently
	available plugins.</para>
    </sect2>

    <sect2 id="moz-swfdec-flash-plugin">
      <title>Firefox and Swfdec &flash; Plugin</title>

      <para>Swfdec is the library for decoding and rendering &flash; animations.
	And Swfdec-Mozilla is a plugin for <application>Firefox</application>
	browsers that uses the Swfdec library for playing SWF files.
	It is still in heavy development.</para>

      <para>If you cannot or do not want to compile it, just install
	the package from the network:</para>

      <screen>&prompt.root; <userinput>pkg_add -r swfdec-plugin</userinput></screen>

      <para>If the package is not available, you can compile and install it
	from the Ports Collection:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/www/swfdec-plugin</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>Then, restart your browser for this plugin taking effect.</para>
    </sect2>

    <sect2>
      <title>Opera</title>
      <indexterm>
	<primary><application>Opera</application></primary>
      </indexterm>

      <para><application>Opera</application> is a
	full-featured and standards-compliant browser.  It also
	comes with a built-in mail and news reader, an IRC client,
	an RSS/Atom feeds reader and much more.  Despite this,
	<application>Opera</application> is relatively lightweight
	and very fast. It comes in two flavors: a <quote>native</quote>
	FreeBSD version and a version that runs under Linux
	emulation.</para>

      <para>To browse the Web with the FreeBSD version of <application>Opera</application>,
	install the package:</para>

      <screen>&prompt.root; <userinput>pkg_add -r opera</userinput></screen>

      <para>Some FTP sites do not have all the packages, but
	<application>Opera</application> can still be obtained
	through the Ports Collection by typing:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/www/opera</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>To install the Linux version of
	<application>Opera</application>, substitute
	<literal>linux-opera</literal> in place of
	<literal>opera</literal> in the example above.</para>

      <para>The &adobe; &flash; plugin is not available for &os;.
	However, a &linux; version of the plugin exists.  To install
	this version, the <filename
	role="package">www/linux-f10-flashplugin11</filename> port has
	to be installed, then install the port <filename
	role="package">www/opera-linuxplugins</filename>:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/www/linux-f10-flashplugin11</userinput>
&prompt.root; <userinput>make install clean</userinput>
&prompt.root; <userinput>cd /usr/ports/www/opera-linuxplugins</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>You can check the presence of the plugin: start your
	browser, enter <literal>opera:plugins</literal> in the
	location bar and press <keycap>Enter</keycap>.  A list should
	appear with all the currently available plugins.</para>

      <para>To add the <application>&java;</application> plugin,
	follow the <link linkend="moz-java-plugin">instructions for
	Firefox</link>.</para>
    </sect2>

    <sect2>
      <title>Konqueror</title>
      <indexterm>
	<primary><application>Konqueror</application></primary>
      </indexterm>

      <para><application>Konqueror</application> is part of
	<application>KDE</application> but it can also be used outside
	of <application>KDE</application> by installing
	<filename role="package">x11/kdebase3</filename>.
	<application>Konqueror</application> is much more than a browser,
	it is also a file manager and a multimedia viewer.</para>

      <para>There is also a set of plugins available for
	<application>Konqueror</application>,
	available in <filename role="package">misc/konq-plugins</filename>.</para>

      <para><application>Konqueror</application> supports WebKit as
	well as its own KHTML.  WebKit is used by many modern browsers
	including Chromium.  To use WebKit with
	<application>Konqueror</application> on &os;:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/www/kwebkitpart</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>Then in <application>Konqueror</application>, click
	<quote>Settings</quote>, <quote>Configure Konqueror</quote>,
	then <quote>Change KHTML to WebKit</quote>.</para>

      <para><application>Konqueror</application> also supports <application>&flash;</application>; a <quote>How To</quote> guide
	for getting <application>&flash;</application> support on
	<application>Konqueror</application>
	is available at <ulink url="http://freebsd.kde.org/howtos/konqueror-flash.php"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Chromium</title>
      <indexterm>
	<primary><application>Chromium</application></primary>
      </indexterm>

      <para><application>Chromium</application> is an open-source
	browser project that aims to build a safer, faster, and more
	stable web browsing experience.  <application>Chromium</application>
	features tabbed browsing, popup blocking, extensions, and much
	more.  <application>Chromium</application> is the open-source
	project upon which the Google Chrome web browser is
	based.</para>

      <para><application>Chromium</application> can be installed as a
	package by typing:</para>

      <screen>&prompt.root; <userinput>pkg_add -r chromium</userinput></screen>

      <para>Alternatively, <application>Chromium</application> can be
	compiled from source using the Ports Collection:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/www/chromium</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <note>
	<para><application>Chromium</application> is installed as
	  <filename>/usr/local/bin/chrome</filename>, not
	  <filename>/usr/local/bin/chromium</filename>.</para>
      </note>
    </sect2>

    <sect2 id="chromium-java-plugin">
      <title>Chromium and &java; Plugin</title>

      <note>
	<para>This section assumes <application>Chromium</application>
	  is already installed.</para>
      </note>

      <para>Install <application>OpenJDK&nbsp;6</application> through the
	Ports Collection by typing:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/java/openjdk6
&prompt.root; make install clean</userinput></screen>

      <para>Next, install <filename
	role="package">java/icedtea-web</filename> from the Ports
	Collection:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/java/icedtea-web
&prompt.root; make install clean</userinput></screen>

      <para>Start <application>Chromium</application>, and enter
	<literal>about:plugins</literal> in the address bar.
	IcedTea-Web should be listed as one of the installed plugins.</para>

      <para>If <application>Chromium</application> does not display the
	IcedTea-Web plugin, run the following commands, and restart the web
	browser:</para>

      <screen>&prompt.root; <userinput>mkdir -p /usr/local/share/chromium/plugins
&prompt.root; ln -s /usr/local/lib/IcedTeaPlugin.so \
  /usr/local/share/chromium/plugins/</userinput></screen>
    </sect2>

    <sect2 id="chromium-flash-plugin">
      <title>Chromium and &adobe;&nbsp;&flash; Plugin</title>

      <note>
	<para>This section assumes <application>Chromium</application>
	is already installed.</para>
      </note>

      <para>Configuring <application>Chromium</application> and
	&adobe;&nbsp;&flash; is similar to the <link
	linkend="moz-flash-plugin">instructions for Firefox</link>.  For
	more detailed instructions on installing &adobe;&nbsp;&flash; on
	&os;, please refer to that section.  No additional configuration
	should be necessary, since <application>Chromium</application> is
	able to use some plugins from other browsers.</para>
    </sect2>
  </sect1>

  <sect1 id="desktop-productivity">
    <title>Productivity</title>

    <para>When it comes to productivity, new users often look for a
      good office suite or a friendly word processor.  While some
      <link linkend="x11-wm">desktop environments</link> like
      <application>KDE</application> already provide an office suite,
      there is no default productivity package.  FreeBSD can provide all that is
      needed, regardless of your desktop environment.</para>

    <para>This section covers these applications:</para>

    <informaltable frame="none" pgwide="1">
      <tgroup cols="4">
	<thead>
	  <row>
	    <entry>Application Name</entry>
	    <entry>Resources Needed</entry>
	    <entry>Installation from Ports</entry>
	    <entry>Major Dependencies</entry>
	  </row>
	</thead>

	<tbody>
	  <row>
	    <entry><application>KOffice</application></entry>
	    <entry>light</entry>
	    <entry>heavy</entry>
	    <entry><application>KDE</application></entry>
	  </row>

	  <row>
	    <entry><application>AbiWord</application></entry>
	    <entry>light</entry>
	    <entry>light</entry>
	    <entry><application>Gtk+</application> or <application>GNOME</application></entry>
	  </row>

	  <row>
	    <entry><application>The Gimp</application></entry>
	    <entry>light</entry>
	    <entry>heavy</entry>
	    <entry><application>Gtk+</application></entry>
	  </row>

	  <row>
	    <entry><application>OpenOffice.org</application></entry>
	    <entry>heavy</entry>
	    <entry>huge</entry>
	    <entry><application>&jdk;</application>, <application>Mozilla</application></entry>
	  </row>

	  <row>
	    <entry><application>LibreOffice</application></entry>
	    <entry>somewhat heavy</entry>
	    <entry>huge</entry>
	    <entry><application>Gtk+</application>, or <application>KDE</application>/
	    <application>GNOME</application>, or <application>&jdk;</application></entry>
	  </row>
	</tbody>
      </tgroup>
    </informaltable>

    <sect2>
      <title>KOffice</title>
      <indexterm>
	<primary><application>KOffice</application></primary>
      </indexterm>
      <indexterm>
	<primary>office suite</primary>
	<secondary><application>KOffice</application></secondary>
      </indexterm>

      <para>The KDE community has provided its desktop environment
	with an office suite which can be used outside
	<application>KDE</application>.  It includes the four standard
	components that can be found in other office suites.
	<application>KWord</application> is the word processor,
	<application>KSpread</application> is the spreadsheet program,
	<application>KPresenter</application> manages slide
	presentations, and <application>Kontour</application> lets you
	draw graphical documents.</para>

      <para>Before installing the latest
	<application>KOffice</application>, make sure you have an
	up-to-date version of <application>KDE</application>.</para>

      <para>To install <application>KOffice</application> for
	<application>KDE4</application> as a
	package, issue the following command:</para>

      <screen>&prompt.root; <userinput>pkg_add -r koffice-kde4</userinput></screen>

      <para>If the package is not available, you can use the Ports Collection.
	For instance, to install
	<application>KOffice</application> for
	<application>KDE4</application>, do:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/editors/koffice-kde4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
    </sect2>

    <sect2>
      <title>AbiWord</title>
      <indexterm>
	<primary><application>AbiWord</application></primary>
      </indexterm>

      <para><application>AbiWord</application> is a free word
	processing program similar in look and feel to <application>&microsoft; Word</application>.
	It is suitable for typing papers, letters, reports, memos, and
	so forth.  It is very fast, contains many features, and is
	very user-friendly.</para>

      <para><application>AbiWord</application> can import or export
	many file formats, including some proprietary ones like
	&microsoft;'s <filename>.doc</filename>.</para>

      <para><application>AbiWord</application> is available as a
	package.  You can install it by:</para>

      <screen>&prompt.root; <userinput>pkg_add -r abiword</userinput></screen>

      <para>If the package is not available, it can be compiled from
	the Ports Collection.  The Ports Collection should be more
	up to date.  It can be done as follows:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/editors/abiword</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
    </sect2>

    <sect2>
      <title>The GIMP</title>
      <indexterm>
	<primary><application>The GIMP</application></primary>
      </indexterm>

      <para>For image authoring or picture retouching,
	<application>The GIMP</application> is a very sophisticated
	image manipulation program.  It can be used as a simple paint
	program or as a quality photo retouching suite.  It supports a
	large number of plug-ins and features a scripting interface.
	<application>The GIMP</application> can read and write a wide
	range of file formats.  It supports interfaces with scanners
	and tablets.</para>

      <para>You can install the package by issuing this
	command:</para>

      <screen>&prompt.root; <userinput>pkg_add -r gimp</userinput></screen>

      <para>If your FTP site does not have this package, you can use
	the Ports Collection.  The
	<ulink url="http://www.FreeBSD.org/ports/graphics.html">graphics</ulink>
	directory of the Ports Collection also contains
	<application>The Gimp Manual</application>.  Here is how to
	get them installed:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/graphics/gimp</userinput>
&prompt.root; <userinput>make install clean</userinput>
&prompt.root; <userinput>cd /usr/ports/graphics/gimp-manual-pdf</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <note>
	<para>The
	  <ulink url="http://www.FreeBSD.org/ports/graphics.html">graphics</ulink>
	  directory of the Ports Collection holds the development
	  version of <application>The GIMP</application> in
	  <filename role="package">graphics/gimp-devel</filename>.
	  An HTML version of
	  <application>The Gimp Manual</application> is available from
	  <filename role="package">graphics/gimp-manual-html</filename>.</para>
      </note>
    </sect2>

    <sect2>
      <title>OpenOffice.org</title>
      <indexterm>
	<primary><application>OpenOffice.org</application></primary>
      </indexterm>
      <indexterm>
	<primary>office suite</primary>
	<secondary><application>OpenOffice.org</application></secondary>
      </indexterm>

      <para><application>OpenOffice.org</application> includes all of the
	mandatory applications in a complete office productivity
	suite: a word processor, a spreadsheet, a presentation manager,
	and a drawing program.  Its user interface is very similar
	to other office suites, and it can import and export in various
	popular file formats.  It is available in a number of
	different languages &mdash; internationalization has been
	extended to interfaces, spell checkers, and
	dictionaries.</para>

      <para>The word processor of
	<application>OpenOffice.org</application> uses a native XML
	file format for increased portability and flexibility.  The
	spreadsheet program features a macro language and it can be
	interfaced with external databases.
	<application>OpenOffice.org</application> is already stable
	and runs natively on &windows;, &solaris;, Linux, FreeBSD,
	and &macos;&nbsp;X.  More
	information about <application>OpenOffice.org</application>
	can be found on the
	<ulink url="http://www.openoffice.org/">OpenOffice.org web site</ulink>.
	For FreeBSD specific information, and to directly
	download packages, use the <ulink
	url="http://porting.openoffice.org/freebsd/">FreeBSD OpenOffice.org
	Porting Team</ulink>'s web site.</para>

      <para>To install <application>OpenOffice.org</application>,
	do:</para>

      <screen>&prompt.root; <userinput>pkg_add -r openoffice.org</userinput></screen>

      <note>
	<para>When running a -RELEASE version of &os;, this should work.
	  Otherwise, you should look on the &os; <application>OpenOffice.org</application> Porting Team's
	  web site to download and install the appropriate package
	  using &man.pkg.add.1;.  Both the current release and
	  development version are available for download at this
	  location.</para>
      </note>

      <para>Once the package is installed, you just have to type the
	following command to run
        <application>OpenOffice.org</application>:</para>

      <screen>&prompt.user; <userinput>openoffice.org</userinput></screen>

      <note>
	<para>During the first launch, you will be asked some
	  questions and a <filename>.openoffice.org</filename> folder
	  will be created in your home directory.</para>
      </note>

      <para>If the <application>OpenOffice.org</application> packages
	are not available, you still have the option to compile the
	port.  However, you must bear in mind that it requires a lot of
	disk space and a fairly long time to compile.</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/editors/openoffice.org-3</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <note>
	<para>If you want to build a localized version, replace the
	  previous command line with the following:</para>

	<screen>&prompt.root; <userinput>make LOCALIZED_LANG=<replaceable>your_language</replaceable> install clean</userinput></screen>

	<para>You have to replace
	  <replaceable>your_language</replaceable> with the correct
	  language ISO-code.  A list of supported language codes is
	  available in the
	  <filename>files/Makefile.localized</filename> file, located
	  in the port directory.</para>
      </note>

      <para>Once this is done,
	<application>OpenOffice.org</application> can be launched with
	the command:</para>

      <screen>&prompt.user; <userinput>openoffice.org</userinput></screen>
    </sect2>

    <sect2>
      <title>LibreOffice</title>
      <indexterm>
	<primary><application>LibreOffice</application></primary>
      </indexterm>
      <indexterm>
	<primary>office suite</primary>
	<secondary><application>LibreOffice</application></secondary>
      </indexterm>

      <para><application>LibreOffice</application> is a free software
	office suite developed by <ulink
	  url="http://www.documentfoundation.org/">The Document
	Foundation</ulink> that is compatible with other
	major office suites and available on a variety of platforms.
	It is a rebranded fork of
	<application>OpenOffice.org</application> which includes all of the
	mandatory applications in a complete office productivity
	suite: a word processor, a spreadsheet, a presentation manager,
	a drawing program, a database management program, and a tool for
	creating and editing mathematical formula.  It is available in a
	number of different languages &mdash; internationalization has been
	extended to interfaces, spell checkers, and dictionaries.</para>

      <para>The word processor of <application>LibreOffice</application>
	uses a native XML file format for increased portability and
	flexibility.  The spreadsheet program features a macro language
	and it can be interfaced with external databases.
	<application>LibreOffice</application> is already stable
	and runs natively on &windows;, Linux, FreeBSD, and
	&macos;&nbsp;X.  More information about <application>LibreOffice
	</application> can be found on the
	<ulink url="http://www.libreoffice.org/">LibreOffice web site</ulink>.</para>

      <para>To install <application>LibreOffice</application> as package,
	do:</para>

      <screen>&prompt.root; <userinput>pkg_add -r libreoffice</userinput></screen>

      <note>
	<para>When running a -RELEASE version of &os;, this should work.</para>
      </note>

      <para>Once the package is installed, you need to type the following
	command to run <application>LibreOffice</application>:</para>

      <screen>&prompt.user; <userinput>libreoffice</userinput></screen>

      <note>
	<para>During the first launch, you will be asked some
	  questions and a <filename class="directory">.libreoffice</filename>
	  folder will be created in your home directory.</para>
      </note>

      <para>If the <application>LibreOffice</application> packages
	are not available, you still have the option to compile the
	port.  However, you must bear in mind that it requires a lot of
	disk space and a fairly long time to compile.</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/editors/libreoffice</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <note>
	<para>If you want to build a localized version, replace the
	  previous command line with the following:</para>

	<screen>&prompt.root; <userinput>make LOCALIZED_LANG=<replaceable>your_language</replaceable> install clean</userinput></screen>

	<para>You have to replace
	  <replaceable>your_language</replaceable> with the correct
	  language ISO-code.  A list of supported language codes are
	  available in the <maketarget>pre-fetch</maketarget> target of
	  the port <filename>Makefile</filename>.
	</para>
      </note>

      <para>Once this is done,
	<application>LibreOffice</application> can be launched with
	the command:</para>

      <screen>&prompt.user; <userinput>libreoffice</userinput></screen>
    </sect2>
  </sect1>

  <sect1 id="desktop-viewers">
    <title>Document Viewers</title>

    <para>Some new document formats have gained popularity since
      the advent of &unix;;
      the standard viewers they require may not be available in the
      base system.  We will see how to install such viewers in this
      section.</para>

    <para>This section covers these applications:</para>

    <informaltable frame="none" pgwide="1">
      <tgroup cols="4">
	<thead>
	  <row>
	    <entry>Application Name</entry>
	    <entry>Resources Needed</entry>
	    <entry>Installation from Ports</entry>
	    <entry>Major Dependencies</entry>
	  </row>
	</thead>

	<tbody>
	  <row>
	    <entry><application>&acrobat.reader;</application></entry>
	    <entry>light</entry>
	    <entry>light</entry>
	    <entry>Linux Binary Compatibility</entry>
	  </row>

	  <row>
	    <entry><application>gv</application></entry>
	    <entry>light</entry>
	    <entry>light</entry>
	    <entry><application>Xaw3d</application></entry>
	  </row>

	  <row>
	    <entry><application>Xpdf</application></entry>
	    <entry>light</entry>
	    <entry>light</entry>
	    <entry><application>FreeType</application></entry>
	  </row>

	  <row>
	    <entry><application>GQview</application></entry>
	    <entry>light</entry>
	    <entry>light</entry>
	    <entry><application>Gtk+</application> or <application>GNOME</application></entry>
	  </row>
	</tbody>
      </tgroup>
    </informaltable>

    <sect2>
      <title>&acrobat.reader;</title>
      <indexterm>
	<primary><application>Acrobat Reader</application></primary>
      </indexterm>
      <indexterm>
	<primary>PDF</primary>
	<secondary>viewing</secondary>
      </indexterm>

      <para>Many documents are now distributed as PDF files,
	which stands for <quote>Portable Document Format</quote>.  One
	of the recommended viewers for these types of files is
	<application>&acrobat.reader;</application>, released by Adobe
	for Linux.  As FreeBSD can run Linux binaries, it is also
	available for FreeBSD.</para>

      <para>To install <application>&acrobat.reader; 8</application> from
	the Ports collection, do:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/print/acroread8</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>A package is not available due to licencing restrictions.</para>

    </sect2>

    <sect2>
      <title>gv</title>
      <indexterm>
	<primary><application>gv</application></primary>
      </indexterm>
      <indexterm>
	<primary>PDF</primary>
	<secondary>viewing</secondary>
      </indexterm>
      <indexterm>
	<primary>PostScript</primary>
	<secondary>viewing</secondary>
      </indexterm>

      <para><application>gv</application> is a &postscript; and PDF
	viewer.  It is originally based on
	<application>ghostview</application> but it has a nicer look
	thanks to the <application>Xaw3d</application> library.  It is fast and its interface is
	clean.  <application>gv</application> has many features, such as
	orientation, paper size, scale, and anti-aliasing.  Almost any
	operation can be done with either the keyboard or the
	mouse.</para>

      <para>To install <application>gv</application> as a package,
	do:</para>

      <screen>&prompt.root; <userinput>pkg_add -r gv</userinput></screen>

      <para>If you cannot get the package, you can use the Ports Collection:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/print/gv</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
    </sect2>

    <sect2>
      <title>Xpdf</title>
      <indexterm>
	<primary><application>Xpdf</application></primary>
      </indexterm>
      <indexterm>
	<primary>PDF</primary>
	<secondary>viewing</secondary>
      </indexterm>

      <para>If you want a small FreeBSD PDF viewer,
	<application>Xpdf</application> is a light-weight and
	efficient viewer.  It requires very few resources and is
	very stable.  It uses the standard X fonts and does not
	require <application>&motif;</application> or any other X toolkit.</para>

      <para>To install the <application>Xpdf</application> package,
	issue this command:</para>

      <screen>&prompt.root; <userinput>pkg_add -r xpdf</userinput></screen>

      <para>If the package is not available or you prefer to use the
	Ports Collection, do:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/graphics/xpdf</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>Once the installation is complete, you can launch
	<application>Xpdf</application> and use the right mouse button
	to activate the menu.</para>
    </sect2>

    <sect2>
      <title>GQview</title>
      <indexterm>
	<primary><application>GQview</application></primary>
      </indexterm>

      <para><application>GQview</application> is an image manager.
	You can view a file with a single click, launch an external
	editor, get thumbnail previews, and much more.  It also
	features a slideshow mode and some basic file operations.  You
	can manage image collections and easily find duplicates.
	<application>GQview</application> can do full screen viewing
	and supports internationalization.</para>

      <para>If you want to install the
	<application>GQview</application> package, do:</para>

      <screen>&prompt.root; <userinput>pkg_add -r gqview</userinput></screen>

      <para>If the package is not available or you prefer to use the
	Ports Collection, do:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/graphics/gqview</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
    </sect2>
  </sect1>

  <sect1 id="desktop-finance">
    <title>Finance</title>

    <para>If, for any reason, you would like to manage your personal
      finances on your FreeBSD Desktop, there are some powerful and
      easy-to-use applications ready to be installed.  Some of them
      are compatible with widespread file formats, such as the formats used by
      <application><trademark class="registered">Quicken</trademark></application>
      and <application>Excel</application> to store documents.</para>

    <para>This section covers these programs:</para>

    <informaltable frame="none" pgwide="1">
      <tgroup cols="4">
	<thead>
	  <row>
	    <entry>Application Name</entry>
	    <entry>Resources Needed</entry>
	    <entry>Installation from Ports</entry>
	    <entry>Major Dependencies</entry>
	  </row>
	</thead>

	<tbody>
	  <row>
	    <entry><application>GnuCash</application></entry>
	    <entry>light</entry>
	    <entry>heavy</entry>
	    <entry><application>GNOME</application></entry>
	  </row>

	  <row>
	    <entry><application>Gnumeric</application></entry>
	    <entry>light</entry>
	    <entry>heavy</entry>
	    <entry><application>GNOME</application></entry>
	  </row>

	  <row>
	    <entry><application>Abacus</application></entry>
	    <entry>light</entry>
	    <entry>light</entry>
	    <entry><application>Tcl/Tk</application></entry>
	  </row>

	  <row>
	    <entry><application>KMyMoney</application></entry>
	    <entry>light</entry>
	    <entry>heavy</entry>
	    <entry><application>KDE</application></entry>
	  </row>
	</tbody>
      </tgroup>
    </informaltable>

    <sect2>
      <title>GnuCash</title>
      <indexterm>
	<primary><application>GnuCash</application></primary>
      </indexterm>

      <para><application>GnuCash</application> is part of the
	<application>GNOME</application> effort to provide
	user-friendly, yet powerful, applications to end-users.  With
	<application>GnuCash</application>, you can keep track of your
	income and expenses, your bank accounts, and your stocks.  It
	features an intuitive interface while remaining very
	professional.</para>

      <para><application>GnuCash</application> provides a smart
	register, a hierarchical system of accounts, and many keyboard
	accelerators and auto-completion methods.  It can split a
	single transaction into several more detailed pieces.
	<application>GnuCash</application> can import and merge
	<application>Quicken</application> QIF files.  It also handles
	most international date and currency formats.</para>

      <para>To install <application>GnuCash</application> on your
	system, do:</para>

      <screen>&prompt.root; <userinput>pkg_add -r gnucash</userinput></screen>

      <para>If the package is not available, you can use the Ports Collection:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/finance/gnucash</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
    </sect2>

    <sect2>
      <title>Gnumeric</title>
      <indexterm>
	<primary><application>Gnumeric</application></primary>
      </indexterm>
      <indexterm>
	<primary>spreadsheet</primary>
	<secondary><application>Gnumeric</application></secondary>
      </indexterm>

      <para><application>Gnumeric</application> is a spreadsheet program, part
	of the <application>GNOME</application> desktop environment.
	It features convenient automatic <quote>guessing</quote> of user
	input according to the cell format with an autofill system for
	many sequences.  It can import files in a number of popular
	formats like those of <application>Excel</application>,
	<application>Lotus 1-2-3</application>, or <application>Quattro Pro</application>.
	<application>Gnumeric</application> supports graphs through
	the <filename role="package">math/guppi</filename> graphing
	program.  It has a large number of built-in functions and
	allows all of the usual cell formats such as number, currency,
	date, time, and much more.</para>

      <para>To install <application>Gnumeric</application> as a
	package, do:</para>

      <screen>&prompt.root; <userinput>pkg_add -r gnumeric</userinput></screen>

      <para>If the package is not available, you can use the Ports Collection
	by doing:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/math/gnumeric</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
    </sect2>

    <sect2>
      <title>Abacus</title>
      <indexterm>
	<primary><application>Abacus</application></primary>
      </indexterm>
      <indexterm>
	<primary>spreadsheet</primary>
	<secondary><application>Abacus</application></secondary>
      </indexterm>

      <para><application>Abacus</application> is a small and easy to
	use spreadsheet program.  It includes many built-in functions useful
	in several domains such as statistics, finances, and
	mathematics.  It can import and export the <application>Excel</application> file format.
	<application>Abacus</application> can produce &postscript;
	output.</para>

      <para>To install <application>Abacus</application> as a
	package, do:</para>

      <screen>&prompt.root; <userinput>pkg_add -r abacus</userinput></screen>

      <para>If the package is not available, you can use the Ports Collection
	by doing:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/deskutils/abacus</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
    </sect2>

    <sect2>
      <title>KMyMoney</title>

      <indexterm><primary><application>KMyMoney</application></primary></indexterm>

      <indexterm>
	<primary>spreadsheet</primary>
	<secondary><application>KMyMoney</application></secondary>
      </indexterm>

      <para><application>KMyMoney</application> is a personal finance
	manager built for <application>KDE</application>. <application>KMyMoney</application> intends to provide and
	incorporate all the important features found in commercial
	personal finance manager applications.  It also highlights
	ease-of-use and proper double-entry accounting among its
	features.  <application>KMyMoney</application> imports from standard Quicken Interchange
	Format (QIF) files, tracks investments, handles multiple
	currencies, and provides a wealth of reports.  OFX import
	capabilities are also available through a separate plugin.</para>

      <para>To install <application>KMyMoney</application> as a
	package, do:</para>

      <screen>&prompt.root; <userinput>pkg_add -r kmymoney2</userinput></screen>

      <para>If the package is not available, you can use the Ports
	Collection by doing:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/finance/kmymoney2</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
    </sect2>
  </sect1>

  <sect1 id="desktop-summary">
    <title>Summary</title>

    <para>While FreeBSD is popular among ISPs for its performance and
      stability, it is quite ready for day-to-day use as a desktop.
      With several thousand applications available as
      <ulink url="http://www.FreeBSD.org/applications.html">packages</ulink> or
      <ulink url="http://www.FreeBSD.org/ports/index.html">ports</ulink>,
      you can build a perfect desktop that suits all your needs.</para>

    <para>Here is a quick review of all the desktop applications
      covered in this chapter:</para>

    <informaltable frame="none" pgwide="1">
      <tgroup cols="3">
	<thead>
	  <row>
	    <entry>Application Name</entry>
	    <entry>Package Name</entry>
	    <entry>Ports Name</entry>
	  </row>
	</thead>

	<tbody>
	  <row>
	    <entry><application>Opera</application></entry>
	    <entry><literal>opera</literal></entry>
	    <entry><filename role="package">www/opera</filename></entry>
	  </row>

	  <row>
	    <entry><application>Firefox</application></entry>
	    <entry><literal>firefox</literal></entry>
	    <entry><filename role="package">www/firefox</filename></entry>
	  </row>

	  <row>
	    <entry><application>Chromium</application></entry>
	    <entry><literal>chromium</literal></entry>
	    <entry><filename role="package">www/chromium</filename></entry>
	  </row>

	  <row>
	    <entry><application>KOffice</application></entry>
	    <entry><literal>koffice-kde4</literal></entry>
	    <entry><filename role="package">editors/koffice-kde4</filename></entry>
	  </row>

	  <row>
	    <entry><application>AbiWord</application></entry>
	    <entry><literal>abiword</literal></entry>
	    <entry><filename role="package">editors/abiword</filename></entry>
	  </row>

	  <row>
	    <entry><application>The GIMP</application></entry>
	    <entry><literal>gimp</literal></entry>
	    <entry><filename role="package">graphics/gimp</filename></entry>
	  </row>

	  <row>
	    <entry><application>OpenOffice.org</application></entry>
	    <entry><literal>openoffice</literal></entry>
	    <entry><filename role="package">editors/openoffice.org-3</filename></entry>
	  </row>

	  <row>
	    <entry><application>LibreOffice</application></entry>
	    <entry><literal>libreoffice</literal></entry>
	    <entry><filename role="package">editors/libreoffice</filename></entry>
	  </row>

	  <row>
	    <entry><application>&acrobat.reader;</application></entry>
	    <entry><literal>acroread</literal></entry>
	    <entry><filename role="package">print/acroread8</filename></entry>
	  </row>

	  <row>
	    <entry><application>gv</application></entry>
	    <entry><literal>gv</literal></entry>
	    <entry><filename role="package">print/gv</filename></entry>
	  </row>

	  <row>
	    <entry><application>Xpdf</application></entry>
	    <entry><literal>xpdf</literal></entry>
	    <entry><filename role="package">graphics/xpdf</filename></entry>
	  </row>

	  <row>
	    <entry><application>GQview</application></entry>
	    <entry><literal>gqview</literal></entry>
	    <entry><filename role="package">graphics/gqview</filename></entry>
	  </row>

	  <row>
	    <entry><application>GnuCash</application></entry>
	    <entry><literal>gnucash</literal></entry>
	    <entry><filename role="package">finance/gnucash</filename></entry>
	  </row>

	  <row>
	    <entry><application>Gnumeric</application></entry>
	    <entry><literal>gnumeric</literal></entry>
	    <entry><filename role="package">math/gnumeric</filename></entry>
	  </row>

	  <row>
	    <entry><application>Abacus</application></entry>
	    <entry><literal>abacus</literal></entry>
	    <entry><filename role="package">deskutils/abacus</filename></entry>
	  </row>

	  <row>
	    <entry><application>KMyMoney</application></entry>
	    <entry><literal>kmymoney2</literal></entry>
	    <entry><filename role="package">finance/kmymoney2</filename></entry>
	  </row>

	</tbody>
      </tgroup>
    </informaltable>
  </sect1>
</chapter>