<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD$">
<!ENTITY title "FreeBSD GNOME Project: GNOME &gnomever; FAQ">
<!ENTITY email "freebsd-gnome">
<!ENTITY % navinclude.gnome "INCLUDE">
]>

<!-- PLEASE README BEFORE ADDING NEW QUESTIONS -->
<!--
In the past, questions were linked by their question number.  For
example, question 10 would have had the link "#q10".  This has
scalability problems to say the least.  For now on, questions should
be linked with a unique, descriptive string.  That way, if the
question number has to change, it will not cause any confusions.

Note: links for existing questions should NEVER be changed.
-->
<html>
  &header;

        <h2>Contents</h2>
          <ol>
            <li> <a href="#q1">How do I get GNOME &gnomever; for FreeBSD?</a>
	    <li> <a href="#full-gnome">How do I get the most out of
	      GNOME?</a>
            <li> <a href="#q2">GNOME &gnomever; is failing to build from ports.
	      What do I do?</a>
            <li> <a href="#q3">I installed GNOME &gnomever;, but I am missing
	      application foo.  What gives?</a>
            <li> <a href="#q5">What is the best way to upgrade from GNOME
	      &gnomeoldver; to GNOME &gnomever;?</a>
	    <li> <a href="#q6">How do I keep my GNOME &gnomever; components
	      and applications up-to-date?</a>
	    <li> <a href="#uninstall">How do I uninstall GNOME?</a>
	    <li> <a href="#q8">Where can I get more themes for GNOME
	      &gnomever;?</a>
	    <li> <a href="#q9">What window managers work well with GNOME
	      &gnomever;? </a>
	    <li> <a href="#q10">Does GNOME &gnomever; support anti-aliased
	      fonts?</a>
            <li> <a href="#q11">How can I control what fonts are anti-aliased?
              </a>
	    <li> <a href="#q12">How do I edit my GNOME menus?</a>
	    <li> <a href="#q13">How do I use GTK+ 2 resource settings for
	      GTK+ 2 applications when not in a GNOME environment?</a>
	    <li> <a href="#q14">How do I configure settings for GNOME 1.4
	      applications under GNOME &gnomever;?</a>
	    <li> <a href="#q15">Brasero does not let me burn CDs,
	      or Totem/Rhythmbox/Sound-juicer cannot find my CD/DVD drive.
	      How can I fix this?</a>
	    <li> <a href="#q16">How do I add new GDM sessions?</a>
	    <li> <a href="#q17">How do I disable spatial Nautilus?</a>
	    <li> <a href="#q18">How do I disable desktop icons for
	      "Computer," "Home," and "Trash?"</a>
	    <li> <a href="#q19">How do I mount my removable media in
	      Nautilus?</a>
	    <li> <a href="#q20">Why is GNOME so slow to start up?</a>
	    <li> <a href="#q21">How do I install GNOME packages from
	      the GNOME Tinderbox?</a>
	    <li> <a href="#q22">How do I add new MIME types to
	      GNOME?</a>
	    <li> <a href="#q23">How do I configure GDM for
	      automatic logins?</a>
	    <li> <a href="#q24">How do I upgrade from gnome2-lite to
	      the full GNOME &gnomever; desktop?</a>
	    <li> <a href="#q25">How do I enable Emacs-style
	      keybindings in GTK+ applications?</a>
	    <li> <a href="#q26">Why do I only see generic icons in
	      Nautilus?</a>
	    <li> <a href="#q27">Why do I need confirm access to my keyring
	      every time Nautilus tries to open an external share?</a>
	    <li> <a href="#q28">How do I enable window compositing in
	      GNOME?</a>
	    <li> <a href="#q29">How can I get GDM to respect my locale
	      settings?</a>
	    <li> <a href="#procfs">Why do I not see any users in
	    GDM?</a>
          </ol>
        <h2>Full Text </h2>

          <ol>
<!-- Q1 -->
	    <li style="padding-bottom: 0.5em"><a name="q1"></a>
	    <p><b>How do I get GNOME &gnomever; for FreeBSD?</b></p>
<!-- A1 -->
	    <p>There are two ways to install GNOME &gnomever; on FreeBSD.  One way is to use
	      <a href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/packages-using.html">
	        packages</a>, and the other way is to use
	      <a href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html">
	        ports</a>.  Before doing either installation, you should
		first familiarize yourself with the GNOME &gnomever;
		<a href="http://www.gnome.org/start/&gnomever;/notes/en/">
		release notes</a>.</p>

		<p><u>Install GNOME &gnomever; from packages.</u></p>

	    <p>To install GNOME &gnomever; from packages, use the command:</p>

	    <tt># pkg_add -r gnome2</tt>

	    <p>This will download the latest GNOME &gnomever; packages from the
	      FreeBSD FTP site, and proceed to install them on your system.
	    </p>

	    <p>Up-to-date GNOME packages for i386 and amd64 for all supported
	      versions of FreeBSD are also available from the
	      <a href="#q21">GNOME Tinderbox</a>.</p>

	    <p>To build GNOME &gnomever;, you must first obtain the
	      latest ports tree skeleton.  This is most easily
	      accomplished with <tt>portsnap(8)</tt> or <a
	      href="&base;/doc/en_US.ISO8859-1/books/handbook/cvsup.html">cvsup</a>.
	      Then:</p>

	    <pre>
# cd /usr/ports/x11/gnome2
# make clean
# make install clean
	    </pre>

	    <p>You still need to <a href="#full-gnome">enable the
	      GNOME services</a> to run e.g. the graphical login
	      automatically on system startup.</p> </li>

<!-- Q Full-GNOME -->
	    <li style="padding-bottom: 0.5em"><a
	    name="full-gnome"></a>
	    <p><b>How do I get the most out of GNOME?</b></p>
<!-- A Full-GNOME -->
	    <p>In order to make the most of your new GNOME Desktop,
	      you will want to start all of the GNOME-related services
	      at boot-time.  If you wish to take full advantage of
	      GNOME, add the following to <tt>/etc/rc.conf</tt>:</p>

	    <pre>
gnome_enable="YES"
	    </pre>

	    <p>This will enable services such as GDM, HAL, D-BUS, and
	      Avahi on system startup.  If you do not want to run all
	      of these services, you should forget the
	      <em>gnome_enable</em> property, and manually enable the
	      services you want.</p>

	    <p>If you do not want to reboot immediately after the
	      installation, you can invoke the following commands:</p>

	    <pre>
# /usr/local/etc/rc.d/dbus start
# /usr/local/etc/rc.d/avahi-daemon start
# /usr/local/etc/rc.d/avahi-dnsconfd start
# /usr/local/etc/rc.d/hald start
# /usr/local/etc/rc.d/gdm start
	    </pre>

	    <p>To start GNOME &gnomever; under X without using GDM,
	      add the following line to <tt>~/.xsession</tt> or
	      <tt>~/.xinitrc</tt>, as appropriate (see
	      <tt>startx(1)</tt>):</p>

	    <pre>
exec ck-launch-session gnome-session
	    </pre>
	    </li>

<!-- Q2 -->
            <li style="padding-bottom: 0.5em"><a name="q2"></a>
	    <p><b>GNOME &gnomever; is failing to build from ports.  What do
	      I do?</b></p>
<!-- A2 -->
	    <p>The majority of GNOME &gnomever; compilation problems can be solved
	      by making sure all the necessary GNOME &gnomever; components are
	      <a href="#q6">up-to-date</a>.</p>

		<p><u>Updating solves most problems</u></p>

		<p>If you have not yet followed <a href="#q6">FAQ #6</a>,
		  do so, as it will most likely fix the problem you are
		  reading this document to solve.</p>

		<p>Please follow <a href="#q6">FAQ #6</a>.  If you have not
		  done so, and you ask for help, you will be told to follow
		  FAQ #6.</p>

	    <p>In general, when a GNOME &gnomever; component is not up-to-date,
	      you will see an error similar to the following:</p>

	      <pre>
checking for libgnomeui-2.0 libbonoboui-2.0 libbonobo-2.0 >= 2.2.1
gnome-vfs-2.0 libgnomeprint-2.2 >= 2.3.0 libgnomeprintui-2.2 libglade-2.0...
configure: error: Library requirements (libgnomeui-2.0 libbonoboui-2.0
libbonobo-2.0 >= 2.2.1 gnome-vfs-2.0 libgnomeprint-2.2 >= 2.3.0 libgnomeprintui-2.2
libglade-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable
if your libraries are in a nonstandard prefix so pkg-config can find them.
	      </pre>

	    <p>Simply keeping your ports tree <a href="#q6">up-to-date</a> will
	      prevent these errors.</p>

	    <p>If the <tt>pkg-config</tt> program is out-of-date, you may see
	      a configure error similar to the following:</p>

	      <pre>
configure: error: *** pkg-config too old; version 0.14 or better required.
	      </pre>

	      <p>While this may be buried in some other text, the error is
	        very straight-forward: you need to upgrade pkg-config.
		The pkg-config application is found in the
		<tt>devel/pkg-config</tt> port.  By updating this port to
		the latest version, this error will go away.</p>

	      <p>You may see compiler errors relating to pthreads
	      (&posix; threads), such as:</p>

	    <pre>
undefined reference to 'strerror_r'
            </pre>

	    <p>To fix thread related errors, make sure you have the following
	      compiled into your kernel:</p>

	    <pre>
options     _KPOSIX_PRIORITY_SCHEDULING
            </pre>

	    <p>If you are tracking -STABLE or -CURRENT, make sure that you
	      do <b>not</b> have <tt>NO_LIBPTHREAD</tt> set in
	      <tt>/etc/make.conf</tt>. If you do, remove it, then rebuild world.
	      If you still have trouble, please send email to
	      <a href="mailto:&email;@FreeBSD.org">
	      &email;@FreeBSD.org</a> with the output of the failed compilation.
	      It is also helpful to include the config.log from the port's
	      work directory.</p>


		<p><u>Prevent two versions of the same library.</u></p>

		<p>A common source of build failures is the existence of
		  multiple versions of the same library.  This can happen if
		  you have two different versions of a port installed, or
		  can even happen through normal <tt>portupgrade</tt> use.
		  You can back up the libraries in
		  <tt>/usr/local/lib/compat/pkg</tt> and remove them, and
		  then run <tt>portupgrade -u -rf pkg-config</tt>.  This
		  will force a rebuild of all GNOME-related apps (and a
		  fair number of other apps) without retaining old versions
		  of libraries in <tt>/usr/local/lib/compat/pkg</tt>.
		</p>

		<p><u>Fix PREFIX move-related errors.</u></p>

		<p>Starting with 2.16, GNOME now lives in
		  <tt>LOCALBASE</tt> instead of <tt>X11BASE</tt>.
		  This move can cause strange build problems if <a
		  href="&base;/gnome/docs/faq226.html">the proper
		  upgrade steps</a> are not followed.  However, if
		  after following all the steps, you may still see
		  errors like the following:</p>

		<pre>
grep: /usr/X11R6/lib/libglade-2.0.la: No such file or directory
sed: /usr/X11R6/lib/libglade-2.0.la: No such file or directory
libtool: link: `/usr/X11R6/lib/libglade-2.0.la' is not a valid libtool archive
		</pre>

		<p>This error indicates that an old libtool archive (a
		  file that ends with <tt>.la</tt>) is still lingering
		  about on your system.  To find such files, search
		  through the system for libtool archive files that
		  contain the bad string
		  (<tt>/usr/X11R6/lib/libglade-2.0.la</tt> in the
		  example above).  To do that, use the following
		  command:</p>

		<pre>
# find / -type f -name "*.la" | xargs grep -l /usr/X11R6/lib/libglade-2.0.la
		</pre>

		<p>For each file that is found, use <tt>pkg_info</tt>
		  to determine which port or package installed it.
		  For example, if you find that
		  <tt>/usr/X11R6/lib/libgnomeui-2.0.la</tt> contains
		  the problem libtool reference, do the following:</p>

	        <pre>
# pkg_info -W /usr/X11R6/lib/libgnomeui-2.0.la
		</pre>

		<p>If you get back a package name, then force an
		  upgrade of that package using <tt>portupgrade</tt>.
		  If you do not get back anything, then you can safely
		  delete the libtool archive file.  Once the file is
		  gone, check the directory from which you deleted it
		  for other files with similar names.  In the example
		  above, check for
		  <tt>/usr/X11R6/lib/libgnomeui-2.0.*</tt>.  If you
		  find any matching files, delete those, too.  Once
		  all of the files are gone, you can resume building
		  your original port.  Repeat these steps if you
		  encounter further such problems.</p>
	  </li>

<!-- Q3 -->
	  <li style="padding-bottom: 0.5em"><a name="q3"></a>
	    <p><b>I installed GNOME &gnomever;, but I am missing application
	      foo. What gives?</b></p>
<!-- A3 -->
	    <p>Only the core Desktop is included in the
	      <tt>gnome2</tt> package.  Here are some other GNOME
	      meta-ports that offer convenient groupings of popular GNOME
	      software.</p>

	    <ul>
	      <li>The <b>GNOME Fifth Toe</b> (<tt>x11/gnome2-fifth-toe</tt>)
	        consists of stable GNOME applications that many users
		expect to find in a functional desktop environment.  This
		includes image manipulation applications, chat and instant
		messenger applications, and music and multimedia players</li>

	      <li>The <b>GNOME Hacker Tools</b>
	        (<tt>devel/gnome2-hacker-tools</tt>) consists of applications
		developers would need to create and maintain GNOME software
		projects.  This includes IDEs, interface builders, "hacker"
		editors, and code generation tools.</li>

	      <li>The <b>GNOME Office</b> (<tt>editors/gnome2-office</tt>)
	        consists of applications that are commonly found in office or
		productivity suites.  This includes a spreadsheet application,
		word processor, project management application, database
		access application, groupware suite, and diagramming
		application.</li>

	      <li>The <b>GNOME Power Tools</b>
	        (<tt>x11/gnome2-power-tools</tt>) consists of utilities
	        and applets for the technically-minded GNOME user.  It
	        also contains many useful add-on utilities for some of
	        the applications found in the Desktop and Fifth
	        Toe.</li>
	    </ul>

	    <p>To install any of these from packages:</p>

            <pre>
# pkg_add -r <em>meta-port</em>
            </pre>

	    <p>For example, to install the GNOME Fifth Toe from packages:</p>

	    <pre>
# pkg_add -r gnome2-fifth-toe
	    </pre>

	    <p>To install any of these from ports:</p>

	    <pre>
# cd /usr/ports/<em>category</em>/<em>meta-port</em>
# make clean
# make install clean
	    </pre>

	    <p>For example, to install the GNOME Fifth Toe from ports:</p>

	    <pre>
# cd /usr/ports/x11/gnome2-fifth-toe
# make clean
# make install clean
	    </pre>

	  </li>

<!-- Q5 -->
	  <li style="padding-bottom: 0.5em"><a name="q5"></a>
	    <p><b>What is the best way to upgrade from GNOME &gnomeoldver; to GNOME &gnomever;?</b></p>
<!-- A5 -->
	    <p>The &gnomeoldver; to &gnomever; may have a few
	      caveats.  You are strongly advised to read the
	      <a href="faq226.html">upgrade FAQ</a> for detailed
	      instructions.</p>
	  </li>

<!-- Q6 -->
	  <li style="padding-bottom: 0.5em"><a name="q6"></a>
	    <p><b>How do I keep my GNOME &gnomever; components and applications
	      up-to-date?</b></p>
<!-- A6 -->
		<p>You are emphatically encouraged to use <tt>portupgrade</tt>
		  or <tt>portmaster</tt> to keep your GNOME
		  &gnomever; components and applications up-to-date.</p>

		<p><u>Update your ports with <tt>portupgrade</tt> or
		  <tt>portmaster</tt>.</u></p>

		<p>Once you have updated your ports tree (presumably with
		  <tt>cvsup</tt>), the following two simple commands will update
		  what needs to be updated, and will prevent inconsistencies:</p>

		<pre>
# pkgdb -F
# portupgrade -a
		</pre>

		<p>OR</p>

		<pre>
# portmaster -a
		</pre>

		<p><u>Start from scratch.</u></p>

	    <p>Despite consistent utilization of <tt>portupgrade</tt>
	      or <tt>portmaster</tt>, if
		  it seems like everything is refusing to build with everything
		  else, you might save yourself a headache or three by removing
		  all your GNOME apps and reinstalling them (your data files will
		  remain untouched).  To do this, follow these commands:</p>

	    <pre>
# pkg_delete -rf pkg-config\*
# cd /usr/ports/x11/gnome2
# make clean
# make install clean
	    </pre>

	    <p>After running the above commands, you will have to reinstall all
		  the GNOME applications you desire.  This process sounds painful,
		  but it is actually a great way to clear cruft off of your system.
		  Just install applications as you need them, and you will be surprised
		  how much disk space you have reclaimed.  A full rebuild does take
		  a significant amount of time; fortunately, this measure is only
		  rarely needed.</p>
	  </li>

<!-- Q Uninstall -->
	  <li style="padding-bottom: 0.5em"><a name="uninstall"></a>
	    <p><b>How do I uninstall GNOME?</b></p>
<!-- A Uninstall -->
	    <p>We would prefer that you did not uninstall GNOME ;-),
	      but if you must, you have to decide how much you want to
	      uninstall.  If you have installed <tt>x11/gnome2</tt>
	      and you want to remove all Desktop components that do
	      not have other dependent packages, do the following:</p>

	    <pre>
# pkg_deinstall -R x11/gnome2
	    </pre>

	    <p><b>Note:</b> the <tt>pkg_deinstall</tt> command requires
	      you have <tt>ports-mgmt/portupgrade</tt> installed.</p>

	    <p>If you want to force a removal of all Desktop
	      components (this is generally not recommended), do the
	      following:</p>

	    <pre>
# pkg_deinstall -Rf x11/gnome2
	    </pre>
	  </li>

<!-- Q8 -->
	  <li style="padding-bottom: 0.5em"><a name="q8"></a>
	    <p><b>Where can I get more themes for GNOME &gnomever;?</b></p>
<!-- A8 -->
		<p>On the following websites, you can find themes for GTK+,
		  metacity, nautilus, GDM, icons, backgrounds, and more:
		</p>

		<ul>
		  <li><a href="http://art.gnome.org">art.gnome.org</a></li>
		  <li><a href="http://www.gnome-look.org">GNOME-look.org</a></li>
		  <li><a href="http://www.themedepot.org">The Theme Depot</a></li>
		  <li><a href="http://themes.freshmeat.net">themes.freshmeat.net</a></li>
		  <li><a href="http://jimmac.musichall.cz/icons.php">Jimmac's Icons site</a></li>
		</ul>

	    <p>Some of these themes have already been ported to
	      FreeBSD.  Check out the <tt>x11-themes/gnome-icons</tt> and
	      <tt>x11-themes/metacity-themes</tt> meta-ports for a nice
	      sample.</p>
	  </li>

<!-- Q9 -->
	  <li style="padding-bottom: 0.5em"><a name="q9"></a>
	    <p><b>What window managers work well with GNOME &gnomever;?</b></p>
<!-- A9 -->
	    <p>The <tt>gnome2</tt> meta-port installs the
	      Metacity window manager by default.  Another popular window
	      manager that works well with GNOME &gnomever; is
	      <a href="http://sawmill.sourceforge.net/">Sawfish</a>.  Sawfish
	      can be found in <tt>x11-wm/sawfish</tt>.</p>

	    <p>To switch between Metacity and Sawfish in GNOME, you will need
	      to do the following:</p>

<pre>
# killall metacity; sawfish &
# gnome-session-save --gui
</pre>
	    <p>The <tt>gnome-session-save</tt> is important.  Without it, the
	      window manager will revert back to the one previously configured
	      upon next login.  To switch back, simply reverse <tt>sawfish</tt>
	      and <tt>metacity</tt>.</p>

		<p>If you have gotten the GNOME &gnomever; desktop working under an
		  alternative window manager, please take a screenshot and
		  <a href="mailto:&email;@FreeBSD.org">send it to us</a>!
		</p>
	  </li>

<!-- Q10 -->
	  <li style="padding-bottom: 0.5em"><a name="q10"></a>
	    <p><b>Does GNOME &gnomever; support anti-aliased fonts?</b></p>
<!-- A10 -->
		<p>Yes!  Anti-aliasing requires X.Org with
		  freetype2 support.  To add freetype2 support to X, make
		  sure you have the following modules loaded in your
		  xorg.conf file under the Modules section:</p>

		<pre>
Load	"freetype"
Load	"type1"
		</pre>

		<p>Then, simply check out the Fonts capplet under
		  Applications->Desktop Preferences.  If you want a good set
		  of TrueType starter fonts, install the
		  <tt>x11-fonts/webfonts</tt> port.</p>

		<p>Sometimes, after adding new fonts to the system, it is
		  necessary to teach fontconfig about them.  If you find that
		  newly added fonts are not made available even after
		  restarting GNOME, run the following command as root:</p>

		<pre>
# fc-cache -f -v
		</pre>

		<p>If you have any questions, please send them to
		  <a href="mailto:&email;@FreeBSD.org">&email;@FreeBSD.org</a>.
		</p>
	  </li>

<!-- Q11 -->
	  <li style="padding-bottom: 0.5em"><a name="q11"></a>
	    <p><b>How can I control what fonts are anti-aliased?</b></p>
<!-- A11 -->
		<p>GNOME &gnomever; makes use of libXft and fontconfig to
		  handle anti-aliasing.  Fontconfig is a very powerful
		  XML-based font configuration package.  You can create a
		  <tt>~/.fonts.conf</tt> file that controls virtually
		  every aspect of fontconfig.  For example, if you do not
		  want to anti-alias fonts smaller than 16 point, create
		  a <tt>~/.fonts.conf</tt> with the following contents:</p>

		<pre>
&lt;?xml version="1.0"?&gt;
&lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;
&lt;fontconfig&gt;

&lt;match target="font"&gt;
        &lt;test name="size" compare="less_eq"&gt;
                &lt;double&gt;16&lt;/double&gt;
        &lt;/test&gt;
        &lt;edit name="antialias" mode="assign"&gt;
                &lt;bool&gt;false&lt;/bool&gt;
        &lt;/edit&gt;
&lt;/match&gt;
&lt;match target="font"&gt;
        &lt;test name="pixelsize" compare="less_eq"&gt;
                &lt;double&gt;16&lt;/double&gt;
        &lt;/test&gt;
        &lt;edit name="antialias" mode="assign"&gt;
                &lt;bool&gt;false&lt;/bool&gt;
        &lt;/edit&gt;
&lt;/match&gt;
&lt;/fontconfig&gt;
                </pre>

                <p>Refer to fonts-conf(5) for more information.</p>
	  </li>

<!-- Q12 -->
	  <li style="padding-bottom: 0.5em"><a name="q12"></a>
	    <p><b>How do I edit my GNOME menus?</b></p>
<!-- A12 -->
	    <p>Right-click on the Applications menu, and select
	      <b>Edit Menus</b>.  This will invoke the
	      <b>alacarte</b> menu editing tool.</p>
	  </li>

<!-- Q13 -->
	  <li style="padding-bottom: 0.5em"><a name="q13"></a>
	    <p><b>How do I use GTK+ resource settings for GTK+ applications
	      when not in a GNOME environment?</b></p>
<!-- A13 -->
	    <p>GNOME applications get their GTK+ resources from themes and
	      the corresponding theme engine.  If you would rather run your
	      GTK+ applications in a non-GNOME environment then you will
	      need to create a file named <tt>~/.gtkrc-2.0</tt>.</p>
	    <p> To use the widgets from a GTK+ theme when in a non-GNOME
	      environment, simply <tt>include</tt> the theme's
	      <tt>gtk-2.0/gtkrc</tt> in your <tt>~/.gtkrc-2.0</tt>. For example:

		  <pre>include "/usr/local/share/themes/Crux/gtk-2.0/gtkrc"</pre>
		<p> If you prefer, you can use the same GTK+ 1.2 theme for both
		  GTK+ 1.2 and GTK+ 2 applications, which will give your GTK+
		  programs a consistent look. For the most part, you can transfer
		  your settings from your <tt>~/.gtkrc</tt> file (used for
		  GTK+ 1.2) with a couple of caveats.</p>

	      <ol>
	        <li> If you have any theme engine references, you will have
		  to make sure there is a corresponding GTK+ theme engine.
		  Otherwise, remove the engine entries.</li>
		<li> The default font specification should be outside of
		  any <tt>style</tt> blocks and should be specified with
		  the <tt>gtk-font-name</tt> keyword.  For example:

		  <pre>gtk-font-name = "Verdana 11"</pre>
		</li>
              </ol>

	        <p> Note that while a GTK+ 1.2 <tt>gtkrc</tt> file will work
		  in a GTK+ 2 <tt>gtkrc-2.0</tt> file, the opposite is <i>not</i>
		  true: the contents of a GTK+ 2 <tt>gtkrc-2.0</tt> file will
		  <i>not</i> work inside a GTK+ 1.2 <tt>gtkrc</tt> file.</p>

		<p>For simply switching GTK+ themes without needing to
		  edit your <tt>~/.gtkrc</tt> files, you can use the
		  <tt>x11/gtk-theme-switch</tt> and
		  <tt>x11/gtk2-theme-switch</tt> ports.</p>
	  </li>

<!-- Q14 -->
	  <li style="padding-bottom: 0.5em"><a name="q14"></a>
	    <p><b>How do I configure settings for GNOME 1.4 applications under
	      GNOME &gnomever;?</b></p>
<!-- A14 -->
	    <p>Install <tt>sysutils/gnome-control-center1</tt>, then invoke
	      <tt>gnomecc</tt> from the command line to bring up the GNOME
	      1.4 control center.</p>
	  </li>

<!-- Q15 -->
	  <li style="padding-bottom: 0.5em"><a name="q15"></a>
	    <p><b>Brasero does not let me burn CDs or
	      Totem/Rhythmbox/Sound-juicer cannot find my CD/DVD drive.  How can I
	      fix this?</b></p>
<!-- A15 -->
	    <p>Brasero, totem, rhythmbox, and sound-juicer cannot
	      use CD/DVD drives unless support for those devices is
	      enabled in the kernel, and the permissions on the device
	      nodes allow write access.
	      Brasero, totem, rhythmbox, and sound-juicer talk to
	      CD/DVD drives through the SCSI CAM subsystem.  Therefore,
	      you must make sure you have the following configured in your
	      kernel:</p>

	    <pre>
device          scbus
device          cd
device          pass
	    </pre>

	    <p>You must also make sure you have the following configured in
	      your kernel if you are using an ATAPI CD/DVD drive:</p>

	    <pre>
device		atapicam
	    </pre>

	    <p>Finally, if you are running GNOME 2.16 or later, you
	      must have <a href="&base;/gnome/docs/halfaq.html">
	      HAL running</a>, or you will
	      only be able to burn to an ISO image file.</p>

	    <p>To figure out which CD/DVD drive you will be using, run the
	      following command as root:</p>

	    <pre>
# camcontrol devlist
	    </pre>

	    <p>Your output will look similar to the following:</p>

	    <pre>
&lt;QSI CDRW/DVD SBW-242 UD22&gt;		at scbus1 target 0 lun 0 (cd0,pass0)
	    </pre>

	    <p>The devices in parentheses at the end are important.  You
	      must make sure the <tt>/dev</tt> entries for those devices
	      are writable by the users that will be using
	      brasero, totem, rhythmbox, or sound-juicer.  In addition
	      to those devices, <tt>/dev/xpt*</tt> must also be writable to
	      your brasero, totem, rhythmbox, and sound-juicer users.
	      The following <tt>/etc/devfs.conf</tt> configuration will
	      achieve the desired results given the above devlist:</p>

	      <pre>
perm    cd0     0666
perm    xpt0    0666
perm    pass0   0666
	      </pre>
	  </li>

<!-- Q16 -->
	  <li style="padding-bottom: 0.5em"><a name="q16"></a>
	    <p><b>How do I add new GDM sessions?</b></p>
<!-- A16 -->
	  <p>The process for adding new GDM sessions has changed substantially
	    between GNOME 2.2 and &gnomever;.  In order to add new sessions
	    now, you must create a <tt>.desktop</tt> file containing the session
	    configuration information.  Session files live in
	    <tt>/usr/local/etc/dm/Sessions</tt>.  For example, to add
	    a KDE session, create a file in <tt>/usr/local/etc/dm/Sessions</tt>
	    called <tt>kde.desktop</tt>.  That file should contain the
	    following:</p>

	    <pre>
[Desktop Entry]
Encoding=UTF-8
Name=KDE
Comment=This session logs you into KDE
Exec=/usr/local/bin/startkde
TryExec=/usr/local/bin/startkde
Icon=
Type=Application
	    </pre>

	    <p>This file must have execute permissions.  For example:</p>

	    <pre>
# chmod 0555 kde.desktop
	    </pre>

	    <p>After creating this file, restart GDM, and there will be a
	      <b>KDE</b> link under the <em>Sessions</em> menu.</p>
	  </li>
<!-- Q17 -->
	  <li style="padding-bottom: 0.5em"><a name="q17"></a>
	    <p><b>How do I disable spatial Nautilus?</b></p>
<!-- A17 -->
	    <p>As of GNOME 2.8, Nautilus operates in what is known as
	      a "spatial" mode.  This means that each item is opened in
	      a new window.  This may not be desirable to all users.  If
	      you wish to revert back to the old Nautilus file system
	      browser, go to Desktop-&gt;Preferences-&gt;File
	      Management, click on the Behavior tab, and check the
	      "Always open in browser windows" checkbox.</p>
	  </li>
<!-- Q18 -->
	  <li style="padding-bottom: 0.5em"><a name="q18"></a>
	    <p><b>How do I disable desktop icons for "Computer,"
	      "Home," and "Trash?"</b></p>
<!-- A18 -->
	    <p>If you do not want your desktop cluttered with the
	      default icons for "Computer," "Home," and "Trash," you can
	      disable any or all of them.  To
	      do this, launch <b>Applications &gt; System Tools &gt;
              Configuration Editor</b> (<tt>gconf-editor</tt> from the
	      command line), and go to the
	      <tt>/apps/nautilus/desktop</tt> key.  From here, you can
	      enable or disable the icons, and even rename "Home" and
	      "Trash."</p>
	  </li>
<!-- Q19 -->
	  <li style="padding-bottom: 0.5em"><a name="q19"></a>
	    <p><b>How do I mount my removable media in
	      Nautilus?</b></p>
<!-- A19 -->
	    <p>As of GNOME 2.22, the way auto-mounting works has
	      changed substantially.  The full details are spelled out
	      in our <a href="&base;/gnome/docs/halfaq.html">HAL
	      FAQ</a>.</p>
	  </li>
<!-- Q20 -->
	  <li style="padding-bottom: 0.5em"><a name="q20"></a>
	    <p><b>Why is GNOME so slow to start up?</b></p>
<!-- A20 -->
	    <p>Under normal circumstances, GNOME should only take a
	      few seconds to start up (fifteen at most).  However,
	      certain configurations may cause it to hang for up to an
	      hour at login time.</p>

	    <p>First, make sure your machine's hostname properly
	      resolves.  To test this, run the following command:</p>

	    <pre>
ping `hostname`
	    </pre>

	    <p>If the command fails, you will either have to add your
	      fully-qualified hostname to DNS or to <tt>/etc/hosts</tt>.
	      If you do not have a static IP address, you can append
	      your hostname to the <tt>localhost</tt> line in
	      <tt>/etc/hosts</tt>.  For example, if your machine's
	      hostname is <tt>gnome-rocks.mydomain.com</tt>, edit
	      <tt>/etc/hosts</tt>, and change the line:</p>

	    <pre>
127.0.0.1               localhost localhost.my.domain
	    </pre>

	    <p>To:</p>

	    <pre>
127.0.0.1              localhost localhost.my.domain gnome-rocks gnome-rocks.mydomain.com
	    </pre>

	    <p>Finally, if you have either the TCP or UDP blackhole
	      sysctl enabled, this may cause GNOME to stall on login.
	      If, after fixing hostname resolution,
	      GNOME still takes a long time to startup, verify the following
	      sysctls are set to 0:</p>

	    <pre>
net.inet.tcp.blackhole
net.inet.udp.blackhole
	    </pre>
	  </li>
<!-- Q21 -->
	  <li style="padding-bottom: 0.5em"><a name="q21"></a>
	    <p><b>How do I install GNOME packages from the GNOME
	      Tinderbox?</b></p>
<!-- A21 -->
	    <p>The GNOME Tinderbox is a service that continually builds
	      <a href="http://www.marcuscom.com/tinderbox/">i386</a>
	      and <a
	      href="http://cobbler.marcuscom.com/tinderbox/">amd64</a>
	      packages of the GNOME desktop for all supported versions
	      of FreeBSD.  As hardware gets better, more meta-ports may
	      be added in the future.  This service can be a great way
	      of getting the latest GNOME desktop without having to wait
	      for everything to build from ports.</p>

	    <p>To install packages from the GNOME Tinderbox, you must
	      set the <tt>PACKAGESITE</tt> environment variable to the
	      correct package directory.  The package directory can be
	      found by clicking on the <em>Package Directory</em> link
	      on the main Tinderbox page for your architecture.  Once you
	      have the correct package directory, you should append
	      <tt>/Latest/</tt> to it so you can <tt>pkg_add gnome2</tt>
	      without knowing any additional version numbers.  For example,
	      if you are installing on i386 FreeBSD 6.3, set
	      <tt>PACKAGESITE</tt> to the following:</p>

	    <pre>
http://www.marcuscom.com/tb/packages/6.3-FreeBSD/Latest/
	    </pre>

	    <p>If you are installing on amd64 FreeBSD 6.3, set
	      <tt>PACKAGESITE</tt> to the following:</p>

	    <pre>
http://cobbler.marcuscom.com/space/packages/6.3-FreeBSD/Latest/
	    </pre>

	  </li>
<!-- Q22 -->
	  <li style="padding-bottom: 0.5em"><a name="q22"></a>
	    <p><b>How do I add new MIME types to GNOME?</b></p>
<!-- A22 -->
	    <p>Since GNOME 2.8, MIME types are stored in the new
	      FreeDesktop shared-mime-info database.  However,
	      gnome-control-center has not been updated to allow
	      one to easily add MIME types to this database.
	      Therefore, if applications such as Nautilus complain
	      that there is no MIME type associated with a particular
	      file, using the <em>Open With</em> tab under Properties
	      not work.</p>

	    <p>New MIME types can be added in one of two places.  They
	      can either be added system-wide for all users, or added
	      locally on a per-user basis.  System-wide MIME types
	      must be added to
	      <tt>LOCALBASE/share/mime</tt> , where as local MIME types
	      must be added to <tt>~/.local/share/mime</tt>.  In
	      both cases, the procedure is the same.</p>

	    <p>To define a new MIME type, you must create an
	      <em>application</em> and a <em>packages</em> file to
	      describe it.  The application file will be named for
	      the MIME type, and contain its name and a brief
	      comment describing it.  The packages file will list
	      all the extensions associated with this MIME type
	      as well as any special file magic that can be used
	      to identify files without an extension.</p>

	    <p>For example, if we wanted to add a new local MIME type for
	      Windows HTML Help files (i.e. .chm files) called
	      <b>application/x-chm</b>, we would do the
	      following.  First, we would create the directories
	      <tt>~/.local/share/mime/application</tt> and
	      <tt>~/.local/share/mime/packages</tt> if they did not
	      already exist.  Then, we create an application file
	      called <tt>x-chm.xml</tt> that we will place in
	      <tt>~/.local/share/mime/application</tt>.  The file
	      looks like:</p>

	    <pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;mime-type
xmlns="http://www.freedesktop.org/standards/shared-mime-info"
type="application/x-chm"&gt;
  &lt;comment&gt;Windows HTML Help file&lt;/comment&gt;
&lt;/mime-type&gt;
	    </pre>

	    <p>Next, we create a packages file called <tt>chm.xml</tt>
	      that we will place in
	      <tt>~/.local/share/mime/packages</tt>.  The file looks
	      like:</p>

	    <pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;mime-info
xmlns="http://www.freedesktop.org/standards/shared-mime-info"&gt;
  &lt;mime-type type="application/x-chm"&gt;
    &lt;comment&gt;Windows HTML Help file&lt;/comment&gt;
    &lt;glob pattern="*.chm" /&gt;
  &lt;/mime-type&gt;
&lt;/mime-info&gt;
	    </pre>

	    <p>Once the files have been created, the MIME database
	      must be updated.  To do that, run the command:</p>

	    <pre>
% update-mime-database ~/.local/share/mime
	    </pre>

	    <p>Finally (and unfortunately), you must logout and log
	      back in to GNOME for the changes to fully take effect.
	      Nautilus' <em>Properties-&gt;Open With</em> interface can now
	      be used to associate an application to this MIME type.
	      Hopefully all of this will be made much easier in a future
	      GNOME release.</p>
	  </li>
<!-- Q23 -->
	  <li style="padding-bottom: 0.5em"><a name="q23"></a>
	    <p><b>How do I configure GDM for automatic logins?</b></p>
<!-- A23 -->
	    <p>The GNOME Display Manager (GDM) can be configured to
	      automatically log a user in when it starts up.  To do
	      that, you must first configure Pluggable Authentication
	      Module (PAM) support for <em>gdm-autologin</em>.
	      Create a <tt>/etc/pam.d/gdm-autologin</tt> file
	      with the following contents:</p>

	    <pre>
auth       required     pam_permit.so
account    required     pam_nologin.so
account    required     pam_unix.so
session    required     pam_permit.so
	    </pre>

	    <p>Once PAM is configured to allow GDM automatic logins,
	      edit <tt>/usr/local/etc/gdm/custom.conf</tt>, and set
	      <tt>AutomaticLoginEnable=true</tt>, and
	      <tt>AutomaticLogin</tt> equal to the username for which
	      you wish to enable automatic logins.  Both of these
	      properties should be placed under the
	      <tt>[daemon]</tt> heading.  For example:</p>

	    <pre>
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=marcus
	    </pre>

	    <p>That will automatically login the user
	      <em>marcus</em> as soon as GDM launches.</p>
	  </li>
<!-- Q24 -->
	  <li style="padding-bottom: 0.5em"><a name="q24"></a>
	    <p><b>How do I upgrade from gnome2-lite to the full
	      GNOME &gnomever; desktop?</b></p>
<!-- A24 -->
	    <p>The <em>Lite</em> edition does not include all of
	      the components of the standard GNOME &gnomever; desktop.
	      If you wish to install the full desktop, first remove
	      the <tt>gnome2-lite</tt> package, then <a href="#q1">
	      install</a> the <tt>gnome2</tt> port or package.  For
	      example:</p>

	    <pre>
# pkg_delete gnome2-lite
	    </pre>

	    <p>Then one of the following:</p>

	    <pre>
# cd /usr/ports/x11/gnome2
# make install clean
	    </pre>

	    <p>or:</p>

	    <pre>
# pkg_add -r gnome2
	    </pre>

	    <p>Alternatively, you can install additional GNOME
	      components individually using either their ports or
	      packages.</p>
	  </li>
<!-- Q25 -->
	  <li style="padding-bottom: 0.5em"><a name="q25"></a>
	    <p><b>How do I enable Emacs-style keybindings in GTK+
	      applications?</b></p>
<!-- A25 -->
	    <p>By default, GTK+ uses Windows-like keyboard shortcuts
	      for command line editing.  Many UNIX users are more
	      familiar or more comfortable with Emacs-style shortcuts.
	      For example, GTK+ uses Control+A to mean, "select all,"
	      where as Emacs uses Control+A to mean, "put cursor at
	      the beginning of line."</p>

	    <p>In order to use Emacs-style keybindings in GTK+
	      applications, edit <tt>~/.gtkrc-2.0</tt>, and add the
	      following:</p>

	    <pre>
gtk-key-theme-name = "Emacs"
	    </pre>

	    <p>If you are using the GNOME Desktop, however, this is
	      not sufficient.  You must also change the GConf key
	      <tt>/desktop/gnome/interface/gtk_key_theme</tt> to
	      "Emacs" using <b>Applications
	      &gt; System Tools &gt; Configuration Editor</b>
	      (<tt>gconf-editor</tt> from the command line).</p>
	  </li>
<!-- Q26 -->
	  <li style="padding-bottom: 0.5em"><a name="q26"></a>
	    <p><b>Why do I only see generic icons in Nautilus?</b></p>
<!-- A26 -->
	    <p>This typically occurs for users that are not running
	      the full GNOME Desktop.  By default,
	      <tt>gnome-session</tt> will start
	      <tt>gnome-settings-daemon</tt> automatically.  This
	      daemon is responsible for setting many GTK+ and GNOME
	      preferences including the icon theme.  If you are not
	      running the GNOME Desktop, make sure the following has
	      been added to your X11 session startup preferences:</p>

	    <pre>
/usr/local/libexec/gnome-settings-daemon &
	    </pre>

	    <p>If you are running the full GNOME Desktop, there may be
	      a problem executing <tt>gnome-settings-daemon</tt>.  Try
	      running
	      <tt>/usr/local/libexec/gnome-settings-daemon</tt> from
	      the command line, and check for any errors.  Most
	      problems can be solved by reinstalling
	      <tt>sysutils/gnome-settings-daemon</tt>.</p>
	  </li>
<!-- Q27 -->
	  <li style="padding-bottom: 0.5em"><a name="q27"></a>
	    <p><b>Why do I need confirm access to my keyring
	      every time Nautilus tries to open an external share?</b></p>
<!-- A27 -->
	    <p>You did not mount the <tt>procfs</tt> file system.
	      Procfs is not mounted by default in recent releases of FreeBSD.
	      Consider adding the following line to your <tt>/etc/fstab</tt>
	      file:</p>

	    <pre>
proc			/proc		procfs	rw	0	0
	    </pre>

	  </li>
<!-- Q28 -->
	  <li style="padding-bottom: 0.5em"><a name="q28"></a>
	    <p><b>How do I enable window compositing in GNOME?</b></p>
<!-- A28 -->
	    <p>Starting with GNOME 2.22, the Metacity window manager includes
	      a compositing manager.  When compositing is enabled,
	      widgets will get a drop shadow, and the Alt+Tab
	      application switcher will show previews of the
	      application windows.</p>

	    <p>Compositing is not enabled by default as not all
	      graphics cards and drivers will do well with it.
	      If your graphics card and driver support accelerated 3D
	      rendering and you want to use compositing you can enable
	      it using the following command:</p>

	    <pre>
% gconftool-2 -s --type bool /apps/metacity/general/compositing_manager true
	    </pre>

	    <p>If you want to disable it again, change "true" to
	      "false", and re-run the command.
	      You can also use <tt>gconf-editor</tt> to edit it.</p>

	    <p>If your card is supported by the "nvidia," "intel",
	      "openchrome", or "radeon" (see the radeon(4) man page to make
	      sure your card is supported for 3D acceleration) drivers,
	      then compositing should work for you.</p>
	  </li>
<!-- Q29 -->
	  <li style="padding-bottom: 0.5em"><a name="q29"></a>
	    <p><b>How do I get GDM to respect my locale settings?</b></p>
<!-- A29 -->
	    <p>Up until GNOME 2.20, GDM would read the locale settings
	      from <tt>/etc/login.conf</tt> or <tt>~/.login.conf</tt>.
	      This was broken in 2.20, and finally restored in GDM
	      2.26.1_3.</p>

	      <p>However, GDM also offers a pull-down Language menu from which
	      you can choose your current locale.  If you would rather not
	      use this menu or <tt>/etc/login.conf</tt>, you can set the
	      locale by adding the following to <tt>~/.profile</tt>:</p>

	    <pre>
export LANG=&lt;locale&gt;
export LC_ALL=&lt;locale&gt;
	    </pre>

	    <p>Here, <tt>&lt;locale&gt;</tt> is the desired locale
	      (e.g. en_US.UTF-8, es_ES.ISO8859-15, fr_FR.ISO8859-1, etc.).</p>

	    <p>To set the default locale for the GDM greeter, add the
	      same environment variables to <tt>/etc/profile</tt> or
	      define <tt>gdm_lang</tt> to the desired locale
	      in <tt>/etc/rc.conf</tt>.</p>
	  </li>
<!-- QPROCFS -->
	  <li style="padding-bottom: 0.5em"><a name="procfs"></a>
	    <p><b>Why do I not see any users in GDM?</b></p>
<!-- APROCFS -->
	    <p>You did not mount the <tt>procfs</tt> file system.
	      Procfs is not mounted by default in recent releases of FreeBSD.
	      You must add the following line to your <tt>/etc/fstab</tt>
	      file:</p>

	    <pre>
proc			/proc		procfs	rw	0	0
	    </pre>
	  </li>
        </ol>
  &footer;
</body>
</html>
