diff --git a/en/gnome/docs/faq2.sgml b/en/gnome/docs/faq2.sgml index 9f118d6639..906387d2ee 100644 --- a/en/gnome/docs/faq2.sgml +++ b/en/gnome/docs/faq2.sgml @@ -1,826 +1,826 @@ - + %gnomeincludes; %includes; ]> &header;
How do I get GNOME &gnomever; for FreeBSD?
There are two ways to install GNOME &gnomever; on FreeBSD. One way is to use packages, and the other way is to use ports. Before doing either installation, you should first familiarize yourself with the GNOME &gnomever; release notes.
Install GNOME &gnomever; from packages.
To install GNOME &gnomever; from packages, use the command:
# pkg_add -r gnome2This will download the latest GNOME &gnomever; packages from the FreeBSD FTP site, and proceed to install them on your system.
GNOME packages for i386 for all supported versions of FreeBSD are also available from the GNOME Tinderbox.
To build and install GNOME &gnomever; from ports, you should first cvsup the latest ports tree. Then:
# cd /usr/ports/x11/gnome2 # make clean # make install clean
Add FAM and LAME support to your GNOME &gnomever; desktop.
For the best GNOME &gnomever; experience, you should install from ports, after adding the following macro to your /etc/make.conf file:
WITH_LAME= yes
WITH_LAME adds MP3 support, enabling you to play MP3s directly in Nautilus. If you install GNOME from packages or build it from ports without LAME support enabled, all you need to do to enable LAME support is rebuild multimedia/nautilus-media after adding WITH_LAME to /etc/make.conf.
This option may cause build errors on certain platforms, and thus they are not enabled by default.
Make GNOME &gnomever; start when X starts.
Once you have the GNOME &gnomever; desktop installed, GNOME &gnomever; can be started by adding the following line to ~/.xsession or ~/.xinitrc, as appropriate:
exec gnome-session
GNOME &gnomever; is failing to build from ports. What do I do?
The majority of GNOME &gnomever; compilation problems can be solved by making sure all the necessary GNOME &gnomever; components are up-to-date.
Updating solves most problems
If you haven't yet followed FAQ #6, do so, as it will most likely fix the problem you are reading this document to solve.
Please follow FAQ #6. If you have not done so, and you ask for help, you will be told to follow FAQ #6.
In general, when a GNOME &gnomever; component is not up-to-date, you will see an error similar to the following:
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.
Simply keeping your ports tree up-to-date will prevent these errors.
If the pkg-config program is out-of-date, you may see a configure error similar to the following:
configure: error: *** pkg-config too old; version 0.14 or better required.
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 devel/pkgconfig port. By updating this port to the latest version, this error will go away.
You may see compiler errors relating to pthreads (&posix; threads), such as:
undefined reference to 'strerror_r'
To fix thread related errors, make sure you have the following compiled into your kernel:
options _KPOSIX_PRIORITY_SCHEDULING
If you are tracking -stable or -current, make sure that you do not have NOLIBC_R set in /etc/make.conf. If you do, remove it, then rebuild world. If you still have trouble, please send email to &email;@FreeBSD.org with the output of the failed compilation. It is also helpful to include the config.log from the port's work directory.
Ports such as devel/pth and devel/ngpt can also cause pthread-related problems when compiling GNOME &gnomever;. If you do not need these ports installed, it is recommended that you remove them.
Prevent two versions of the same library.
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 portupgrade use. You can back up the libraries in /usr/local/lib/compat/pkg and remove them, and then run portupgrade -u -rf pkgconfig. This will force a rebuild of all GNOME-related apps (and a fair number of other apps) without retaining old versions of libraries in /usr/local/lib/compat/pkg.
I installed GNOME &gnomever;, but I am missing application foo. What gives?
Only the core desktop is included in the gnome2 package. Here are some other GNOME meta-ports that offer convenient groupings of popular GNOME 2 software.
To install any of these from packages:
# pkg_add -r meta-port
For example, to install the GNOME 2 Fifth Toe from packages:
# pkg_add -r gnome2-fifth-toe
To install any of these from ports:
# cd /usr/ports/category/meta-port # make clean # make install clean
For example, to install the GNOME 2 Fifth Toe from ports:
# cd /usr/ports/x11/gnome2-fifth-toe # make clean # make install clean
What is the best way to upgrade from GNOME 1.4 to GNOME 2?
If you have GNOME 1.4, and you want to upgrade to GNOME &gnomever;, first familiarize yourself with the official upgrade instructions from the GNOME site. Make sure your GNOME 1.4 ports are up-to-date, and then remove the following GNOME 1.4 packages from the system:
gnomecore sawfish gnomeapplets gnomemedia gtop libgtop nautilus gedit xalf bugbuddy gnomeaudio gnomegames gnomeutils gdm eog ggv
After those packages are removed, you can build GNOME &gnomever; as per the instructions listed above.
What is the best way to upgrade from GNOME 2.4 to GNOME &gnomever;?
The 2.4 to &gnomever; process is trickier than the 2.2 to 2.4 process. You are strongly advised to read the upgrade FAQ for detailed instructions.
How do I keep my GNOME &gnomever; components and applications up-to-date?
You are emphatically encouraged to use portupgrade -- and only portupgrade -- to keep your GNOME &gnomever; components and applications up-to-date.
Update your ports with portupgrade.
Once you have updated your ports tree (presumably with cvsup), the following two simple commands will update what needs to be updated, and will prevent inconsistencies:
# pkgdb -F # portupgrade -a
Start from scratch.
Despite consistent utilization of portupgrade, 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:
# pkgdb -F # pkg_delete -rf pkgconfig\* # cd /usr/ports/x11/gnome2 # make clean # make install clean
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'll 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.
Can I install GNOME 1.4 applications under GNOME &gnomever;?
GNOME 1.4 ports will run well under the GNOME 2 desktop. Older applications that were incompatible with the GNOME 2 desktop have been removed from the ports tree, so it should be safe to run any GNOME application in the ports tree under the GNOME 2 desktop.
Where can I get more themes for GNOME &gnomever;?
The website art.gnome.org has been setup as a general GNOME theme repository. They offer some gtk+-2, metacity, sawfish, nautilus, icon, and gdm themes, as well as some backgrounds.
A new theme site called The Theme Depot has just been launched. This site contains themes for GNOME 2 as well as KDE and quite a few window managers.
Freshmeat.net has a themes archive at themes.freshmeat.net, which contains themes and backgrounds for many window managers, theme engines, and desktop environments. This site grew out of the old themes.org.
A good site for some cool GNOME icons (some stock, some new) is jimmac's Icons site.
Some of these themes have already been ported to FreeBSD. Checkout the x11-themes/gnome-icons and x11-themes/metacity-themes meta-ports for a nice sample.
See the instructions on the website for installing the themes. If you feel inclined to port a few of them, you will not be turned away ;-).
What window managers work well with GNOME &gnomever;?
The gnome2 meta-port installs the metacity window manager by default. Another popular window manager that works well with GNOME &gnomever; is sawfish. Sawfish can be found in x11-wm/sawfish2.
To switch between metacity and sawfish in GNOME 2, you will need to do the following:
# killall metacity; sawfish & # gnome-session-save --gui
The gnome-session-save is important. Without it, the window manager will revert back to the one previously configured upon next login. To switch back, simply reverse sawfish and metacity.
If you have gotten the GNOME &gnomever; desktop working under an alternative window manager, please take a screenshot and send it to us!
Does GNOME &gnomever; support anti-aliased fonts?
Yes! Anti-aliasing requires XFree86 4.x with freetype2 support. To add freetype2 support to X, make sure you have the following modules loaded in your XF86Config file under the Modules section:
Load "freetype" Load "type1"
Then, simply check out the Fonts capplet under Applications->Desktop Preferences. If you want a good set of TrueType starter fonts, install the x11-fonts/webfonts port.
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 2, run the following command as root:
# fc-cache -f -v
If you have any questions, please send them to &email;@FreeBSD.org.
How can I control what fonts are anti-aliased?
-GNOME &gnomever; makes use of Xft and fontconfig to handle - anti-aliasing. Fontconfig is a very powerful XML-based - font configuration package. You can create a +
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 ~/.fonts.conf 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 ~/.fonts.conf with the following contents:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font"> <test name="size" compare="less_eq"> <double>16</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> </fontconfig>
Refer to fonts-conf(5) for more information.
How do I edit my GNOME 2 menus?
You need to use Nautilus to edit your GNOME 2 menus. If you want to edit any menu other than Favorites, you must be root.
To edit the menus, launch Nautilus, and enter the URL applications:///. From there you should be able to edit your entire application menu.
How do I use GTK+ 2 resource settings for GTK+ 2 applications when not in a GNOME environment?
GNOME 2 applications get their GTK+ 2 resources from themes and the corresponding theme engine. If you would rather run your GTK+ 2 applications in a non-GNOME environment then you will need to create a file named ~/.gtkrc-2.0.
To use the widgets from a GTK+ 2 theme when in a non-GNOME environment, simply include the theme's gtk-2.0/gtkrc in your ~/.gtkrc-2.0. For example:
include "/usr/X11R6/share/themes/Crux/gtk-2.0/gtkrc"
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 ~/.gtkrc file (used for GTK+ 1.2) with a couple of caveats.
gtk-font-name = "Verdana 11"
Note that while a GTK+ 1.2 gtkrc file will work in a GTK+ 2 gtkrc-2.0 file, the opposite is not true: the contents of a GTK+ 2 gtkrc-2.0 file will not work inside a GTK+ 1.2 gtkrc file.
How do I configure settings for GNOME 1.4 applications under GNOME &gnomever;?
Install sysutils/gnomecontrolcenter, then invoke gnomecc from the command line to bring up the GNOME 1.4 control center.
Nautilus-cd-burner does not let me burn CDs. How can I fix this?
Nautilus-cd-burner cannot write to CD/DVD burners unless support for those devices is enabled in the kernel, and the permissions on the device nodes allow write access. Nautilus-cd-burner talks to CD/DVD burners through the SCSI CAM subsystem. Therefore, you must make sure you have the following configured in your kernel:
device scbus device cd device pass
You must also make sure you have the following configured in your kernel if you are using an ATAPI CD/DVD burner:
device atapicam
To figure out which CD/DVD drive you will be using, run the following command as root:
# camcontrol devlist
Your output will look similar to the following:
<QSI CDRW/DVD SBW-242 UD22> at scbus1 target 0 lun 0 (cd0,pass0)
The devices in parentheses at the end are important. You must make sure the /dev entries for those devices are writable by the users that will be using nautilus-cd-burner. In addition to those devices, /dev/xpt* must also be writable to your nautilus-cd-burner users. The following /etc/devfs.conf configuration will achieve the desired results given the above devlist (NB: devfs.conf is only supported on FreeBSD 5.x):
perm cd0 0666 perm xpt0 0666 perm pass0 0666
On FreeBSD 4.x, you can simply set the device node permissions, and they will be preserved across reboots. Note that you must use the 'c' device nodes on FreeBSD 4.x (e.g. cd0c).
How do I add new GDM sessions?
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 .desktop file containing the session configuration information. Session files live in /usr/X11R6/etc/dm/Sessions. For example, to add a KDE session, create a file in /usr/X11R6/etc/dm/Sessions called kde.desktop. That file should contain the following:
[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
This file must have execute permissions. For example:
# chmod 0555 kde.desktop
After creating this file, restart GDM, and there will be a KDE link under the Sessions menu.
How do I disable spatial Nautilus?
As of GNOME &gnomever;, 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, launch Applications > System Tools > Configuration Editor, and go to the /apps/nautilus/preferences key. Check the always_use_browser checkbox, then restart GNOME.
How do I disable desktop icons for "Computer," "Home," and "Trash?"
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 Applications > System Tools > Configuration Editor, and go to the /apps/nautilus/desktop key. From here, you can enable or disable the icons, and even rename "Home" and "Trash."
How do I mount my removable media in Nautilus?
In order for removable volumes (e.g. CD-ROMs, floppy drives, etc.) to be visible in Nautilus, you must first set the vfs.usermount sysctl to 1. To do that, add the following to /etc/sysctl.conf then reboot:
vfs.usermount=1
Next, each user mountpoint must be added to /etc/fstab. For example, if user marcus wants to be able to mount a CD under /home/marcus/cdrom, the following must be in /etc/fstab:
/dev/acd0 /home/marcus/cdrom cd9660 ro,noauto 0 0
Each additional user would require a similar entry. Note: the user must own the mountpoint. In the example above, /home/marcus/cdrom must be owned by the user marcus. Once all of that is setup, a CD-ROM icon will appear under the Computer location in Nautilus. Double-clicking on that icon will mount the CD, and place an icon on the desktop.
Why is GNOME so slow to start up?
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.
First, make sure your machine's hostname properly resolves. To test this, run the following command:
ping `hostname`
If the command fails, you will either have to add your fully-qualified hostname to DNS or to /etc/hosts. If you do not have a static IP address, you can append your hostname to the localhost line in /etc/hosts. For example, if your machine's hostname is gnome-rocks.mydomain.com, edit /etc/hosts, and change the line:
127.0.0.1 localhost localhost.my.domain
To:
127.0.0.1 localhost localhost.my.domain gnome-rocks gnome-rocks.mydomain.com
Once hostname resolution is working, you must make sure FAM is properly configured. Since GNOME &gnomever;, FAM support is enabled in gnomevfs2 by default. This causes applications such as Nautilus to attempt a connection to 127.0.0.1:111 on start up. To configure FAM, read the pkg-message in /usr/ports/devel/fam. If you do not wish to use FAM, uninstall the devel/fam port, then add the following to /etc/make.conf and rebuild the devel/gnomevfs2 port:
WITHOUT_FAM=yes
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 and configuring FAM, GNOME still takes a long time to startup, verify the following sysctls are set to 0:
net.inet.tcp.blackhole net.inet.udp.blackhole
How do I install GNOME packages from the GNOME Tinderbox?
The GNOME Tinderbox is a service that continually builds i386 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.
To install packages from the GNOME Tinderbox, you must set the PACKAGESITE environment variable to the correct package directory. The package directory can be found by clicking on the Package Directory link on the main Tinderbox page. Once you have the correct package directory, you should append /Latest/ to - it so you can pkg_add gnome2 without knowning any + it so you can pkg_add gnome2 without knowing any additional version numbers. For example, if you are installing on FreeBSD 5.2.1, set PACKAGESITE to the following:
http://www.marcuscom.com/tb/packages/5.2.1-FreeBSD/Latest/
If you are installing on FreeBSD -STABLE, -CURRENT, or any release after 4.9 or 5.2, then you can simply follow the instructions on installing GNOME from packages. However, if you are installing on FreeBSD 4.9 or 5.2.1, you must first install the sysutils/pkg_install port or package, then use the following command to install GNOME from packages:
/usr/local/sbin/pkg_add -r gnome2