<?xml version="1.0" encoding="iso-8859-1"?>
<!--
     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>While &os; is popular as a server for its performance and
      stability, it is also suited for day-to-day use as a desktop.
      With over &os.numports; applications available as <link
	linkend="packages-using">packages</link> or <link
	linkend="ports-using">ports</link>, it is easy to build a
      customized desktop that runs a wide variety of desktop
      applications.  This chapter demonstrates how to install some
      popular desktop applications effortlessly using packages or the
      &os; Ports Collection.</para>

    <para>As &os; features <link linkend="linuxemu">&linux; binary
	compatibility</link>, many applications developed for &linux;
      can be installed on a &os; desktop.  Many of the ports using
      &linux; binary compatibility start with <quote>linux-</quote>.
      This chapter assumes that &linux; binary compatibility has been
      enabled before any &linux; applications are installed.</para>

    <para>This chapter demonstrates how to install the following
      desktop applications:</para>

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

	<tbody>

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

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

	  <row>
	    <entry>Browser</entry>
	    <entry><application>Konqueror</application></entry>
	    <entry><literal>kde4-baseapps</literal></entry>
	    <entry><filename
		role="package">x11/kde4-baseapps</filename></entry>
	  </row>

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

	  <row>
	    <entry>Productivity</entry>
	    <entry><application>Calligra</application></entry>
	    <entry><literal>calligra</literal></entry>
	    <entry><filename
		role="package">editors/calligra</filename></entry>
	  </row>

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

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

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

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

	  <row>
	    <entry>Document Viewer</entry>
	    <entry><application>&acrobat.reader;</application></entry>
	    <entry><literal>no package due to
		license restriction</literal></entry>
	    <entry><filename
		role="package">print/acroread9</filename></entry>
	  </row>

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

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

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

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

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

	  <row>
	    <entry>Finance</entry>
	    <entry><application>KMyMoney</application></entry>
	    <entry><literal>kmymoney-kde4</literal></entry>
	    <entry><filename
		role="package">finance/kmymoney-kde4</filename></entry>
	  </row>
	</tbody>
      </tgroup>
    </informaltable>

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

    <itemizedlist>
      <listitem>
	<para>Install additional software using packages or
	  ports.</para>
      </listitem>

      <listitem>
	<para>Enable &linux; binary compatibility.</para>
      </listitem>
    </itemizedlist>

    <para>For information on how to configure a multimedia
      environment, refer to <xref linkend="multimedia"/>.  For
      information on how to set up and use electronic mail, refer to
      <xref linkend="mail"/>.</para>
  </sect1>

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

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

    <para>&os; does not come with a pre-installed web browser.
      Instead, the <ulink
	url="http://www.FreeBSD.org/ports/www.html">www</ulink>
      category of the Ports Collection contains many browsers which
      can be installed as a package or compiled from the Ports
      Collection.</para>

    <para>The <application>KDE</application> and
      <application>GNOME</application> desktop environments include
      their own HTML browser.  Refer to <xref linkend="x11-wm"/>
      for more information on how to set up these complete
      desktops.</para>

    <para>Some light-weight browsers include
      <filename role="package">www/dillo2</filename>,
      <filename role="package">www/links</filename>, and
      <filename role="package">www/w3m</filename>.</para>

    <para>This section demonstrates how to install the following
      popular web browsers and indicates if the application is
      resource-heavy, takes time to compile from ports, or has any
      major dependencies.</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>Notes</entry>
	  </row>
	</thead>

	<tbody>
	  <row>
	    <entry><application>Firefox</application></entry>
	    <entry>medium</entry>
	    <entry>heavy</entry>
	    <entry>&os; and &linux; versions are available</entry>
	  </row>

	  <row>
	    <entry><application>Opera</application></entry>
	    <entry>light</entry>
	    <entry>light</entry>
	    <entry>&os; and &linux; versions are available</entry>
	  </row>

	  <row>
	    <entry><application>Konqueror</application></entry>
	    <entry>medium</entry>
	    <entry>heavy</entry>
	    <entry>Requires <application>KDE</application>
	      libraries</entry>
	  </row>

	  <row>
	    <entry><application>Chromium</application></entry>
	    <entry>medium</entry>
	    <entry>heavy</entry>
	    <entry>Requires <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 browser that is fully ported to &os;.  It
	features a 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 of the latest release version of
	<application>Firefox</application> by typing:</para>

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

      <para>To instead install <application>Firefox</application>
	Extended Support Release (ESR) version, use:</para>

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

      <para>Localized versions are available in <filename
	  role="package">www/firefox-i18n</filename> and <filename
	  role="package">www/firefox-esr-i18n</filename>.</para>

      <para>The Ports Collection can instead be used to compile
	the desired version of <application>firefox</application> from
	source code.  This example builds <filename
	  role="package">www/firefox</filename>, where
	<literal>firefox</literal> can be replaced with the ESR or
	localized version to install.</para>

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

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

      <note>
	<para>The following sections assume that
	  <application>Firefox</application> is already
	  installed.</para>
      </note>

      <para><filename role="package">java/icedtea-web</filename>
	provides a free software web browser plugin for running
	Java applets.  It can be installed as a package.  To
	alternately compile the port:</para>

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

      <para>Keep the default configuration options when compiling the
	port.</para>

      <para>Once installed, start <application>firefox</application>,
	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.</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>
    </sect3>

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

      <title>Firefox and &adobe; &flash; Plugin</title>

      <indexterm>
	<primary>Flash</primary>
      </indexterm>

      <para>A native &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 provides
	support for other browser plugins such as &realplayer;.</para>

      <para>To install and enable this plugin:</para>

      <procedure>
	<step>
	  <para>Install the <filename
	      role="package">www/nspluginwrapper</filename> port.
	    Due to licensing restrictions, a package is not available.
	    This port requires <filename
	      role="package">emulators/linux_base-f10</filename> which
	    is a large port.</para>
	</step>

	<step>
	  <para>Install the <filename
	      role="package">www/linux-f10-flashplugin11</filename>
	    port.  Due to licensing restrictions, a package is not
	    available.</para>
	</step>

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

	  <para>Create the <filename
	      class="directory">/usr/local/lib/browser_plugins</filename>
	    directory if it is not already present.</para>
	</step>

	<step>
	  <para>Before the plugin is first used, each user must run:</para>

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

	  <para>When the plugin port has been updated and reinstalled, each user must run:</para>

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

	  <para>Start the browser, enter
	    <literal>about:plugins</literal> in the location bar and
	    press <keycap>Enter</keycap>.  A list of
	    all the currently available plugins will be shown.</para>
	</step>

      </procedure>
    </sect3>

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

      <para>Swfdec is the library for decoding and rendering &flash;
	animations.  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>To install the package:</para>

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

      <para>If the package is not available, 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>Restart the browser for this plugin to take
	  effect.</para>
      </sect3>
    </sect2>

    <sect2>
      <title>Opera</title>

      <indexterm>
	<primary><application>Opera</application></primary>
      </indexterm>

      <para><application>Opera</application> is a full-featured and
	standards-compliant browser which is still lightweight and
	fast.  It comes with a built-in mail and news reader, an IRC
	client, an RSS/Atom feeds reader, and more.  It is available
	as a native &os; version and as a version that runs under
	&linux; emulation.</para>

      <para>This command installs the package of the &os; version of
	<application>Opera</application>.  Replace
	<literal>opera</literal> with <literal>linux-opera</literal>
	to instead install the &linux; version.</para>

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

      <para>Alternately, install either version through the Ports
	Collection.  This example compiles the native version:</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, substitute
	<literal>linux-opera</literal> in place of
	<literal>opera</literal>.</para>

      <para>To install &adobe; &flash; plugin support, first compile
	the <filename
	  role="package">www/linux-f10-flashplugin11</filename> port,
	as a package is not available due to licensing restrictions.
	Then install either the <filename
	  role="package">www/opera-linuxplugins</filename> port
	or package.  This example compiles both from ports:</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>Once installed, check the presence of the plugin by
	starting the browser, entering
	<literal>opera:plugins</literal> in the location bar and
	pressing <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 <filename
	  role="package">x11/kde4-baseapps</filename>.
	<application>Konqueror</application> is more than a web
	browser as it is also a file manager and a multimedia
	viewer.</para>

      <para><application>Konqueror</application> supports WebKit as
	well as its own KHTML.  WebKit is a rendering engine used by
	many modern browsers including Chromium.  To use WebKit with
	<application>Konqueror</application> on &os;, install
	the <filename
	  role="package">www/kwebkitpart</filename> package or
	port.  This example compiles the port:</para>

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

      <para>To enable WebKit within
	<application>Konqueror</application>, click
	<quote>Settings</quote>, <quote>Configure Konqueror</quote>.
	In the <quote>General</quote> settings page, click the
	drop-down menu next to <quote>Default web browser
	engine</quote> and change <quote>KHTML</quote> to
	<quote>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>The executable for <application>Chromium</application>
	  is <filename>/usr/local/bin/chrome</filename>, not
	  <filename>/usr/local/bin/chromium</filename>.</para>
      </note>

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

      <note>
	<para>The following sections assume that
	  <application>Chromium</application> is already
	  installed.</para>
      </note>

      <para>To install &java; plugin support, follow the instructions
	in <xref linkend="moz-java-plugin"/>.</para>

      <para>Once &java; support is installed, 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>
      </sect3>

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

	<para>Configuring <application>Chromium</application> and
	  &adobe;&nbsp;&flash; is similar to the
	  <link linkend="moz-flash-plugin">instructions for
	  Firefox</link>.  No additional configuration should be
	  necessary, since <application>Chromium</application> is able
	  to use some plugins from other browsers.</para>
      </sect3>
    </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.  Several office
      suites and word processors are available for &os;, regardless
      of the installed desktop environment.</para>

    <para>This section demonstrates how to install the following
      popular productivity software and indicates if the application
      is resource-heavy, takes time to compile from ports, or has any
      major dependencies.</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>Calligra</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>Apache
		OpenOffice</application></entry>
	    <entry>heavy</entry>
	    <entry>huge</entry>
	    <entry><application>&jdk;</application> and
	      <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>Calligra</title>

      <indexterm>
	<primary><application>Calligra</application></primary>
      </indexterm>
      <indexterm>
	<primary>office suite</primary>
	<secondary><application>Calligra</application></secondary>
      </indexterm>

      <para>The KDE community provides its desktop environment with
	an office suite which can be used outside of
	<application>KDE</application>.
	<application>Calligra</application> includes standard
	components that can be found in other office suites.
	<application>Words</application> is the word processor,
	<application>Sheets</application> is the spreadsheet program,
	<application>Stage</application> manages slide presentations,
	and <application>Karbon</application> is used to draw
	graphical documents.</para>

      <para><filename
	  role="package">editors/calligra</filename> can be installed
	as a package or a port.  To install the package:</para>

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

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

      <screen>&prompt.root; <userinput>cd /usr/ports/editors/calligra</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 fast, contains many features, and is user-friendly.</para>

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

      <para>To install the <application>AbiWord</application>
	package:</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:</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> provides a 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 plugins and features a scripting interface.
	<application>The GIMP</application> can read and write a wide
	range of file formats and supports interfaces with scanners
	and tablets.</para>

      <para>To install the package:</para>

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

      <para>Alternately, use the Ports Collection:</para>

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

      <para>The <ulink
	  url="http://www.FreeBSD.org/ports/graphics.html">graphics</ulink>
	category of the Ports Collection contains several
	  <application>GIMP</application>-related plugins, help
	files, and user manuals.</para>

    </sect2>

    <sect2>
      <title>Apache OpenOffice</title>

      <indexterm>
	<primary>
	  <application>Apache OpenOffice</application>
	</primary>
      </indexterm>
      <indexterm>
	<primary>office suite</primary>
	<secondary>
	  <application>Apache OpenOffice</application>
	</secondary>
      </indexterm>

      <para>On 1 June 2011, &oracle; donated the
	<application>OpenOffice.org</application> code base to the
	Apache Software Foundation.
	<application>OpenOffice.org</application> is now known as
	<application>Apache OpenOffice</application> and is developed
	under the wing of the Apache Software Foundation's
	Incubator.</para>

      <para><application>Apache OpenOffice</application> includes all
	of the mandatory applications in a complete office
	productivity suite:  a word processor, spreadsheet,
	presentation manager, and 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 and
	internationalization has been extended to interfaces, spell
	checkers, and dictionaries.</para>

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

      <para>To install the <application>Apache
	  OpenOffice</application> package:</para>

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

      <note>
	<para>When running a -RELEASE version of &os;, this should
	  work.  Otherwise, download the latest package from the
	  website of the &os;
	  <application>Apache OpenOffice</application> Porting Team
	  and install it using &man.pkg.add.1;.  Both the current
	  release and development versions are available for download
	  at this web site.</para>
      </note>

      <para>Once the package is installed, type the following command
	to launch <application>Apache OpenOffice</application>:</para>

      <screen>&prompt.user; <userinput>openoffice-<replaceable>X.Y.Z</replaceable></userinput></screen>

      <para>where <replaceable>X.Y.Z</replaceable> is the version
	number of the installed version of
	<application>Apache OpenOffice</application>.</para>

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

      <para>If the desired <application>Apache
	  OpenOffice</application> package is not available, compiling
	the port is still an opton.  However, this requires a lot of
	disk space and a fairly long time to compile:</para>

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

      <note>
	<para>To build a localized version, replace the previous
	  command with:</para>

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

	<para>Replace
	  <replaceable>your_language</replaceable> with the correct
	  language ISO-code.  A list of supported language codes is
	  available in
	  <filename>files/Makefile.localized</filename>, located in
	  the port's directory.</para>
      </note>
    </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>.  It 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, spreadsheet,
	presentation manager, drawing program, database management
	program, and a tool for creating and editing mathematical
	formula.  It is available in a number of different languages
	and 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 which can be
	interfaced with external databases.
	<application>LibreOffice</application> is stable and runs
	natively on &windows;, &linux;, &os;, 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 the English version of the
	<application>LibreOffice</application> package:</para>

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

      <para>The <ulink
	  url="http://www.FreeBSD.org/ports/editors.html">editors</ulink>
	category of the Ports Collection contains several
	localizations for <application>LibreOffice</application>.
	When installing a localized package, replace
	<literal>libreoffice</literal> with the name of the
	localized package.</para>

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

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

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

      <para>If the desired <application>LibreOffice</application>
	package is not available, compiling the port is still an
	option.  However, this requires a lot of disk space and a
	fairly long time to compile.  This example compiles the
	English version:</para>

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

      <note>
	<para>To build a localized version,
	  <application>cd</application> into the port directory
	  of the desired language.  Supported languages can be found
	  in the <ulink
	    url="http://www.FreeBSD.org/ports/editors.html">editors</ulink>
	  category of the Ports Collection.</para>
      </note>
    </sect2>
  </sect1>

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

    <para>Some new document formats have gained popularity since
      the advent of &unix; and the viewers they require may not be
      available in the base system.  This section demonstrates how to
      install the following viewers:</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 Portable Document
	Format (PDF) files.  One popular viewer for PDFs is
	<application>&acrobat.reader;</application>,
	released by &adobe; for &linux;.  As &os; can run &linux;
	binaries, it is also available for &os;.  Due to
	licensing restrictions, a package is not available so it must
	be compiled from ports.  Several localizations are
	available from the <ulink
	  url="http://www.FreeBSD.org/ports/print.html">print</ulink>
	category of the Ports Collection.</para>

      <para>This command installs the English version of
	<application>&acrobat.reader; 9</application> from the Ports
	Collection.  To instead install a localized version,
	<application>cd</application> into the desired port's
	directory.</para>

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

    </sect2>

    <sect2>
      <title><application>gv</application></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><ulink
	  url="http://www.gnu.org/software/gv/">gv</ulink> is a
	&postscript; and PDF viewer.  It is based on
	<application>ghostview</application>, but has a nicer look
	due to the <application>Xaw3d</application> library.  It is
	fast with a clean interface.  <application>gv</application>
	has many configurable features, such as orientation, paper
	size, scale, and anti-aliasing.  Almost any operation can be
	performed with either the keyboard or the mouse.</para>

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

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

      <para>If a package is unavailable, 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>For users that prefer a small &os; PDF viewer,
	<ulink
	  url="http://www.foolabs.com/xpdf/">xpdf</ulink> provides a
	light-weight and efficient viewer which requires few
	resources.  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:</para>

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

      <para>If the package is not available, use the Ports
	Collection:</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, launch
	<command>xpdf</command> and use the right mouse button to
	activate the menu.</para>
    </sect2>

    <sect2>
      <title>GQview</title>

      <indexterm>
	<primary><application>GQview</application></primary>
      </indexterm>

      <para><ulink
	  url="http://gqview.sourceforge.net/">GQview</ulink> is
	an image manager which supports viewing a file with a single
	click, launching an external editor, and thumbnail previews.
	It also features a slideshow mode and some basic file
	operations, making it easy to manage image collections and to
	find duplicate files.  <application>GQview</application>
	supports full screen viewing and internationalization.</para>

      <para>To install the
	<application>GQview</application> package:</para>

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

      <para>If the package is not available, use the Ports
	Collection:</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>For managing personal finances on a &os; desktop, some
      powerful and easy-to-use applications can be installed.  Some
      are compatible with widespread file formats, such as the formats
      used by <application><trademark
	class="registered">Quicken</trademark></application> and
      <application>Excel</application>.</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>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><ulink
	  url="http://www.gnucash.org/">GnuCash</ulink> is part of the
	<application>GNOME</application> effort to provide
	user-friendly, yet powerful, applications to end-users.
	<application>GnuCash</application> can be used to keep track
	of income and expenses, bank accounts, and stocks.  It
	features an intuitive interface while remaining
	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 the <application>GnuCash</application>
	package:</para>

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

      <para>If the package is not available, 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><ulink
	  url="http://projects.gnome.org/gnumeric/index.shtml">Gnumeric</ulink>
	is a spreadsheet program developed by the
	<application>GNOME</application> community.  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, including <application>Excel</application>,
	<application>Lotus 1-2-3</application>, and
	<application>Quattro Pro</application>.  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:</para>

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

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

      <screen>&prompt.root; <userinput>cd /usr/ports/math/gnumeric</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><ulink
	  url="http://kmymoney2.sourceforge.net">KMyMoney</ulink>
	is a personal finance created by the
	<application>KDE</application> community.
	<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.</para>

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

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

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

      <screen>&prompt.root; <userinput>cd /usr/ports/finance/kmymoney-kde4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
    </sect2>
  </sect1>
</chapter>