Graphical Web Browsers

This chapter contains a wonderful selection of browsers. We hope you can find one you enjoy using or give them each a trial run.

SeaMonkey-1.1

Introduction to SeaMonkey

SeaMonkey is a browser suite, the Open Source sibling of Netscape. It includes the browser, composer, mail and news clients, and an IRC client. It is the follow-on to the Mozilla browser suite.

The Mozilla project also hosts two subprojects that aim to satisfy the needs of users who don't need the complete browser suite or prefer to have separate applications for browsing and e-mail. These subprojects are Mozilla Firefox, (a stand-alone browser based on the Mozilla source code) and Mozilla Thunderbird, (a stand-alone mail/newsgroup client based on the Mozilla source code). The build instructions for these two applications are discussed in separate sections:

Package Information

To enable the Enigmail extension to the SeaMonkey mail client, you'll need to download the tarball listed below. The Enigmail extension allows users to access the authentication and encryption features provided by the GnuPG package. The Enigmail extension will not operate correctly unless you have GnuPG-1.4.3 installed.

SeaMonkey Dependencies

Required

GTK+-2.8.20, libIDL-0.8.7, and Zip-2.32

[Note]

Note

libjpeg-6b should have been installed before GTK+ and should exist on your system. If for some reason you haven't installed libjpeg, you should remove the --with-system-jpeg option from the .mozconfig file created below.

Recommended

Optional

UnZip-5.52 and libgnomeui-2.14.1 (to build the gnomevfs extension)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/seamonkey

Installation of SeaMonkey

The configuration of SeaMonkey is accomplished by creating a .mozconfig file containing the desired configuration options. A default .mozconfig file is created below. To see the entire list of available configuration options (and an abbreviated description of each one), issue ./configure --help. Additional information can also be found below in the section titled Additional .mozconfig Options. If you are going to use system-installed versions of the NSS and NSPR libraries, ensure you uncomment the two lines near the bottom of the file. If you would prefer to download the file instead of creating it by typing or cut-and-pasting, you can find it at http://anduin.linuxfromscratch.org/files/BLFS/seamonkey-1.1-mozconfig (the file must be installed in the root of the source tree mozilla directory, and named .mozconfig). Create the file by issuing the following command:

cat > .mozconfig << "EOF"
# This file contains the options used in the SeaMonkey build. You may
# need to specify additional options for your specific build needs.
# Use the information provided by running './configure --help' to
# help you determine if you need to add any additional options.
# Some additional options can be added by uncommenting the examples
# in this file or adding options by inserting a line containing
# 'ac_add_options --some-option-you-need'.


# Create an object directory and specify to build the package in that
# directory. If desired, modify the location of the object directory
# to a directory inside the source tree by removing '../' from the
# line below.
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../seamonkey-build

# This option is used to specify that the SeaMonkey suite is
# being built and to use all the default options for SeaMonkey.
ac_add_options --enable-application=suite

# Specify the installation prefix. If you would prefer SeaMonkey
# installed in a different prefix, modify the line below to fit
# your needs. You'll also need to modify some of the instructions in
# the BLFS book to point to your desired prefix.
ac_add_options --prefix=/usr

# These options are used so that the SeaMonkey binaries are linked to
# the system-installed copies of the specified libraries instead of
# the source tree code which may not be the most recent versions.
ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-system-jpeg
ac_add_options --enable-system-cairo

# This option specifies to include support for rendering the HTML
# <canvas></canvas> tag in the SeaMonkey browser.
ac_add_options --enable-canvas

# This option is used so that the debugging symbols are removed from
# the installed binaries during the installation process. Comment out
# this option if you may have a need to retain the debugging symbols
# in the installed binaries. Note that this can substantially
# increase the size of the installed binaries.
ac_add_options --enable-strip

# This option is added so that test libraries and programs are not
# built. These would only be required for debugging purposes.
ac_add_options --disable-tests

# This option is added so that the Mozilla Installer program is not
# built or installed. The program is not required for a BLFS
# installation of SeaMonkey.
ac_add_options --disable-installer

# This option is used to disable the a11y support in the SeaMonkey
# binaries. Comment out this option if you require a11y support.
ac_add_options --disable-accessibility

# This option is used to enable support for rendering SVG files in the
# SeaMonkey browser.
ac_add_options --enable-svg

# This option is used to enable source tree included LDAP support in
# the SeaMonkey binaries.
ac_add_options --enable-ldap

# These two options enable support for building SeaMonkey with
# system-installed versions of the Network Security Services (NSS)
# and Netscape Portable Runtime (NSPR) libraries. Uncomment both
# lines to enable support for system-installed NSS/NSPR.
#ac_add_options --with-system-nspr
#ac_add_options --with-system-nss

# Uncomment this option if you desire support for dual-monitor
# display of SeaMonkey using the X-Window Xinerama libraries.
#ac_add_options --enable-xinerama

# Complex scripts such as Thai can only be rendered in SeaMonkey with the
# help of Pango. This option significantly slows rendering, so only use
# it if necessary.
#ac_add_options --enable-pango

# This option identifies the default binary directory of the SeaMonkey
# installation and is used to locate SeaMonkey's installed files. This
# option is not required for end-user browsing, and is only used for
# development purposes.
#ac_add_options --with-default-mozilla-five-home=/usr/lib/seamonkey-1.1

EOF

Now clean up one Makefile to add required libraries to a build step. Note that the command requires two separate lines as shown.

sed -i -e '/MOZ_JS_LIBS/a\
\t\t$(MOZ_XFT_LIBS) \\' layout/build/Makefile.in

Compile SeaMonkey by running the following command:

make -f client.mk build

If you're building the SeaMonkey mail/newsgroup client and plan to install the Enigmail extension, issue the following commands:

tar -xf ../enigmail-0.94.2.tar.gz -C mailnews/extensions &&

pushd mailnews/extensions/enigmail &&
./makemake -r &&
popd &&

make -C ../seamonkey-build/mailnews/extensions/enigmail &&
make -C ../seamonkey-build/mailnews/extensions/enigmail xpi

This package does not come with a test suite. However, it cn be launched fom the build directory before installing with the command line: ../seamonkey-build/dist/bin/seamonkey.

Install SeaMonkey by issuing the following commands as the root user:

make -f client.mk install &&

install -v -m644 ../seamonkey-build/dist/public/ldap-private/* \
    /usr/include/seamonkey-1.1/ldap &&

install -v -m755 -d /usr/lib/seamonkey-1.1/defaults/isp/US &&
install -v -m644 mailnews/base/ispdata/movemail.rdf \
    /usr/lib/seamonkey-1.1/defaults/isp &&
ln -v -s ../movemail.rdf /usr/lib/seamonkey-1.1/defaults/isp/US

If you built SeaMonkey utilizing system-installed NSS and NSPR libraries, the seamonkey-ns*.pc pkgconfig files are broken as they point to the wrong directories where the actual libraries and interface headers are located. Issue the following commands as the root user to replace the broken files with symbolic links to known good files:

ln -v -sf nss.pc /usr/lib/pkgconfig/seamonkey-nss.pc &&
ln -v -sf nspr.pc /usr/lib/pkgconfig/seamonkey-nspr.pc

If you did NOT build seamonkey utilizing system-installed NSS and NSPR libraries, issue the following commands as the root user to install the NSS interface headers:

install -v -m755 -d /usr/include/seamonkey-1.1/nss &&
cp -v -Lf ../seamonkey-build/dist/{private,public}/nss/*.h \
   /usr/include/seamonkey-1.1/nss

If you built the Enigmail extension, issue the following commands as the root user to install the .xpi file into the /usr/lib/seamonkey-1.1 directory:

install -v -m755 -d /usr/lib/seamonkey-1.1/xpi_store &&
install -v -m644 ../seamonkey-build/dist/bin/enigmail-0.94.2-*.xpi \
    /usr/lib/seamonkey-1.1/xpi_store

There are two methods you can use to install the Enigmail extension. Both are shown here and provide similar functionality with one major difference. The first method will install the extension system-wide and all users of SeaMonkey will have an Enigmail-enabled mail client. The method shown later only installs it on a per-user basis. The first method must be accomplished now (before the object directory is removed) and uses the conventional make install command to install the Enigmail files straight from the distribution directory of the object directory. The alternate method is shown as it installs using the .xpi file created earlier and can be done later (at any time you desire) as the file used to install Enigmail was copied into /usr/lib/seamonkey-1.1/xpi_store in the previous step. This method can be used to install any downloaded Mozilla extension distributed in a .xpi file. There are many extensions available for SeaMonkey. A list containing many of them can be found at http://extensionroom.mozdev.org/.

If you want to install the Enigmail extension now, which offers system-wide access, issue the following commands as the root user:

make -C ../seamonkey-build/mailnews/extensions/enigmail install

To install an extension from a created or download .xpi file, you simply need to “open” the .xpi file using the “Open File” option of the “File” menu of the browser window. You can browse to find the file (for example, the Enigmail .xpi file is located in /usr/lib/seamonkey-1.1/xpi_store), select it, then follow the prompts to install the extension.

[Note]

Note

You should run /usr/bin/seamonkey once as the root user (or any user with write privileges) to create some necessary additional files in the /usr hierarchy. Also do this each time you install additional system-wide extensions.

Additional .mozconfig Options

Information about some of the additional options which can be added to the .mozconfig configuration file is shown below. Note that this is just a few of the options. You may wish to run ./configure --help and review each of the listed options to discover what affect they have on the build. Feel free to add or remove options to tailor the build to your desires. Listed below are some common options not in the default .mozconfig file but can be added in order to have the described effect on the SeaMonkey compile.

ac_add_options --enable-elf-dynstr-gc: Removes un-referenced strings from ELF shared objects generated during the build. Note that this option breaks the build on alpha.

ac_add_options --disable-mailnews: Disables the mail and news clients.

ac_add_options --disable-ldap: Disables LDAP support, recommended if mail is disabled.

ac_add_options --enable-xterm-updates: Displays the current command in the xterm window title during the compilation.

ac_add_options --enable-plaintext-editor-only: Disables support for HTML editing. Do not use this switch if you are building the mail-news component.

.mozconfig Option Explanations

To simplify reading the options below, they are labeled without ac_add_options inserted at the beginning of the option. These options are also described in the .mozconfig file created earlier.

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../seamonkey-build: Creates an object directory and specifies to build the package in that directory. If desired, modify the location of the object directory to a directory inside the source tree by removing “../” from the line.

--enable-application=suite: Identifies the build as a SeaMonkey suite build.

--with-system-zlib --with-system-png --with-system-jpeg --enable-system-cairo: Uses the system-installed versions of these packages.

--enable-xinerama --enable-reorder --enable-strip --enable-cpp-rtti --disable-accessibility --disable-tests --disable-logging --disable-pedantic --disable-installer: Various options that affect what components are built and some optimization options. You can pick and choose from these options. More information on them, and many other available options, can be found by running ./configure --help.

Command Explanations

make -f client.mk ...: Mozilla products are packaged to allow the use of a configuration file which can be used to pass the configuration settings to the configure command. make uses the client.mk file to get initial configuration and setup parameters, then depending on the target parameter (build or install), either runs the configure script and compiles the package or installs the package.

./makemake -r: This command is used to recursively create Makefiles in the appropriate subdirectory of seamonkey-build.

make -C ... xpi: This command builds the Enigmail .xpi file which can be used to install Enigmail.

install .../movemail.rdf ...: This command is used to install a file inadvertently left out of the installation script.

Configuring SeaMonkey

No specific configuration is required as long as the seamonkey script is in the user's path. If SeaMonkey is installed in a non-standard location, then make a symlink to the seamonkey script in the /usr/bin directory.

Many applications look for netscape when they need to open a browser. You may make the following symlink for convenience (as the root user).

ln -v -sf seamonkey /usr/bin/netscape

For installing various SeaMonkey plugins, refer to Mozdev's PluginDoc Project. If you have JDK-1.5.0_10 already installed, create the following link as the root user to utilize the JAVA plugin:

ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
    /usr/lib/seamonkey-1.1/plugins

Some packages install SeaMonkey plugins into the default system-wide directory /usr/lib/mozilla/plugins. If desired, create symbolic links in the SeaMonkey plugin directory /usr/lib/seamonkey-1.1/plugins to the files in the default plugin directory (you should link to the actual files and not other links). Alternatively, you can move or copy the files in the default plugin directory to the SeaMonkey plugin directory. An example of creating a symbolic link is shown below. Create the links as the root user:

ln -v -s ../../seamonkey/plugins/<plugin.so> \
    /usr/lib/seamonkey-1.1/plugins

Along with using the “Preferences” menu to configure SeaMonkey's options and preferences to suit individual tastes, finer grain control of many options is only available using a tool not available from the general menu system. To access this tool, you'll need to open a browser window and enter about:config in the address bar. This will display a list of the configuration preferences and information related to each one. You can use the “Filter:” bar to enter search criteria and narrow down the listed items. Changing a preference can be done using two methods. One, if the preference has a boolean value (True/False), simply double-click on the preference to toggle the value and two, for other preferences simply right-click on the desired line, choose “Modify” from the menu and change the value. Creating new preference items is accomplished in the same way, except choose “New” from the menu and provide the desired data into the fields when prompted.

[Tip]

Tip

There is a multitude of configuration parameters you can tweak to customize SeaMonkey. A very extensive and up-to-date list of these parameters can be found at http://preferential.mozdev.org/preferences.html.

Contents

Installed Programs: seamonkey and seamonkey-config
Installed Libraries: Numerous libraries, browser, and email/newsgroup components, plugins, extensions, and helper modules installed in /usr/lib/seamonkey-1.1
Installed Directories: /usr/include/seamonkey-1.1, /usr/lib/seamonkey-1.1, and /usr/share/idl/seamonkey-1.1

Short Descriptions

seamonkey

is a browser/email/newsgroup/chat client suite. The various components such as the Composer, mail-news client, IRC chat client, and address book can be accessed from the menu after seamonkey starts or via command-line switches to the seamonkey script. Issue man seamonkey for additional information.

Last updated on 2007-01-30 14:24:11 -0600