1. Home
  2. Tutorials
  3. Firefox/Seamonkey Mozilla Browsers
Yolinux.com Tutorial

YoLinux Tutorial: Mozilla / Firefox / SeaMonkey Web Browser Configuration

Plug-ins and Support Applications for Web Surfing with Linux

This page describes where to get the Mozilla Foundation browsers: SeaMonkey or Firefox plug-ins and applications for processing multi-media and special file types. This page also describes how to configure them. One must restart the browser before plug-ins will be active.

Tutorial Index:

After configuring Mozilla/SeaMonkey, test it out on the YoLinux Mime/File Types and Applications page
Mozilla Foundation Browsers:

The Mozilla Foundation has released three browsers covered in this tutorial:

Mozilla: This was the first open source browser released from the Netscape group. Mozilla is no longer developed. The follow-on project which develops an integrated web browser, HTML editor, email client, address book and chatzilla client is SeaMonkey.
SeaMonkey: Integrated web application suite (browser, html editor, email) derived from the former Mozilla source code but updated with Firefox components.
Firefox: A high performance, feature rich, standards based web browser.
Mozilla and Firefox Installation:

  • YUM: yum -y install firefox
  • RPM: rpm -ivh firefox-1.XXX.YYY.rpm
  • RPM: rpm -ivh mozilla-1.7.XXX.YYY.rpm mozilla-mail-1.7.XXX.YYY.rpm mozilla-dom-inspector-1.7.XXX.YYY.rpm mozilla-nss-1.7.XXX.YYY.rpm mozilla-nspr-1.7.XXX.YYY.rpm mozilla-nspr-1.7.XXX.YYY.rpm mozilla-js-debugger-1.7.XXX.YYY.rpm
  • APT: apt-get install mozilla-thunderbird

View Browser Configuration:

List available options. Type the URL: about:config

This will allow you to modify the advanced configuration options found in the various Mozilla configuration files. Right click on the value to alter and a dialog box will appear to allow changes.

Mozilla about:config

The preferences are stored in the file /home/user-id/.mozilla/firefox/..../prefs.js.

Mozilla / Firefox Environment Variables:

Environment Variable Description
MOZILLA_FIVE_HOME Home directory path for browser
MOZILLA_PLUGIN_PATH Directory path for browser plug-ins.
(Often $MOZILLA_FIVE_HOME/plugins)

Proxy Configuration:

Proxy configuration: Many corporate networks rely on SOCKS proxy servers for access to the internet. Typically a Proxy Auto Configuration (PAC) script is issued to be registered with the browser. These scripts are usually targeted to Microsoft Explorer or Firefox specifically. Try the proxy script: "Edit" + "Preferences" and select "Advanced (+)" and "Proxies" + "Automatic proxy configuration URL", enter the script location and select the "Reload" button. If it works, great your ready to surf. If your corporation uses a proxy directly, enter it under "Manual proxy configuration". If using a script and it does not work, use the command "wget http://proxy-url.domain.com/proxy-script.pac" to download the proxy script. Examine the file proxy-script.pac. Burried in the logic of the script is usually the explicit listing of a proxy server which can be entered under the Mozilla manual configuration. If you are at a corporation using a firewall and have direct access, I'm jealous and you have no need for proxy configuration.

Firefox Extensions:

Firefox extensions are supplemental programs which are installed within Firefox from the Mozilla web site. Extensions are available for Blogging, Web Developer Tools, Dictionaries, Download Tools, Editing and Forms, Image Browsing, Kiosk Browsing Languages, Message Reading, Navigation, News Reading, Privacy and Security, Search Tools, Website Integration, XUL Applications, ...

To add an extension:

  1. Allow the extensions website to install software: Select "Edit" + "Preferences" (or "Tools" + "Options" on newer systems)

    Check "Allow web site to install software" then
    press the corresponding "Allowed Sites" button.
    Enter the "allowed" site.
  2. Select and install an extension: Select "Tools" + "Extensions" + "Get more extensions".
    This brings up a web page from which you may choose the extension which suits your needs.

Configuring Java Support:

Install Sun SDK: See Java SDK download/install
(JRE: JAVA Runtime Environment)

Mozilla and SeaMonkey Configuration:

Java VM support:
  • Java (generic):
    • x86_64: ln -s /usr/java/latest/jre/lib/amd64/libnpjp2.so /usr/lib64/mozilla/plugins/
    • i386: ln -s /usr/java/latest/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/
      (Where the "latest" directory is another soft link which points to a specific release. The Java 1.6 RPM configures itself this way.)
  • Java 1.6 (i386): ln -s /usr/java/jdk1.6.0/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/
  • Java 1.5 (i386): ln -s /opt/jdk1.5.0_07/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/

Supports mime type: application/x-java-vm
(Required for Microsoft Exchange OWA webmail support.)
If the directory /usr/lib/mozilla/plugins/ does not exist, create it or use the directory which explicitly states your version of Mozilla. i.e.: /usr/lib/mozilla-1.0.2/plugins/. Installing the "plugger" RPM will generate the directory /usr/lib/mozilla/plugins/.

Restart the browser to pick-up the new plug-ins. Verify with the URL "about:plugins".

[Potential Pitfall]: Many versions of the Java shared object plugin libjavaplugin_oji.so may crash your version of Mozilla. The one listed above will work.

Also see: MIT: Web browser Java Plugin issues

Configuring Java Web Start (JNLP) Support:

Java Web Start (JNLP) is a mechanism by which a JNLP XML file is made available as an HTML hyperlink. When selected the browser uses the Java Web Start application, "javaws", to read the XML file and download the Java application and dependencies and run it. Example: NASA WorldWind.

Firefox and JNLP:

  • Ubuntu: sudo apt-get install icedtea-plugin
    Adds JNLP support. Selection of JNLP URLs will now bring up the following dialog box:
    Firefox: opening application template for JNLP
    [Potential Pitfall]: Ice Tea complains and dooes not launch the application.
    If you get the error: Fatal: Launch Error: Could not launch JNLP file.
    Solution: Edit > Preferences > Applications > "Java Web Start application" > other: /opt/java/latest/bin/javaws

Java web start configuration: Application handler for mime type: application/x-java-jnlp-file
JNLP: Java Network Launching Protocol

Java applets run within the browser controlled environment but JNLP applications do not. JNLP applications run in the same sandbox as applets, with several minor extensions like allowing them to load and save files explicitly selected by the user. Only signed applications can be configured to have additional or even all permissions. Some benefits of JNLP include seamless version updating of internet distributed applications and greater control of memory allocation to the Java virtual machine.

Configure: Edit + Preferences + choose: Navigator + Helper Applications

Description: Java Web Start
Suffix/extension: jnlp
Mime Type: application/x-java-jnlp-file
Application: /usr/java/latest/bin/javaws
If using OpenJDK use: /usr/bin/javaws

Note: later versions of Firefox do not allow you to add application handlers until needed.

Firefox: opening application template for JNLP
  • Select a "JNLP" webstart application on the web (eg. WorldWind example apps).
  • Select the pull-down menu for "Open with" and select:
    • "other..."
      or if it is an option, the default
    • "Browse..."
  • Enter: /usr/java/latest/bin/javaws
  • Ok
Server Configuration: The web server is required to send an appropriate mime type in the http header. Associate the file suffix ".jnlp" with the appropriate mime type.
File: /etc/httpd/conf/httpd.conf
AddType application/x-java-jnlp-file    .jnlp
AddType application/x-java-archive-diff .jardiff
Add the suffix-mime type associations by adding to the Apache httpd configuration file.

Firefox, Mozilla and SeaMonkey Plug-ins:

Plug-ins display various media types within a web page or if a link to a media file, it can display the content within the browser window. While there are many browsers available for Linux, many plug-ins conform to the original Netscape NPAI plug-in architecture, although this API is scheduled to be depricated. Thus this tutorial should apply to most Linux web browsers.

List active plug-ins, type the URL: about:plugins

Note: Restart the browser before using a newly installed plug-in. The browser must be restarted to be aware of the new plug-in.

Plug-ins are located in:
  • System wide availablility:
    • /usr/lib/mozilla/plugins/
      Note: On older 64 bit systems this directory held 32 bit plug-ins. On Ubuntu 11.04 this directory holds 64 bit plug-ins and /usr/lib64/ is a soft link to /usr/lib/
    • 32 bit: /usr/lib32/mozilla/plugins/
    • 64 bit: /usr/lib64/mozilla/plugins/
  • Available to the local user: ~/.mozilla/plugins/
    On my system this holds 32 bit libraries although this may not be the rule.

Downloads: The easiest way to download the appropriate components is with the YUM, the "Yellow Dog" network RPM package installer. See YoLinux tutorial on YUM configuration and how to add the FreshRPM.net site to your download list which will allow you to have access to the media player applications which are not included in the base install.

Universal Application Plug-ins:

These universal plug-ins can accept extenstion to handle other media types by making additions to the mozplugger (or plugger) configuration file /etc/mozpluggerrc (or /etc/pluggerrc) and installing the application.

  • MozPlugger: (current Linux distributions and browsers)

    Home page and downloads: http://mozplugger.mozdev.org/

    Current Linux distributions have a general media plug-in manager called mozplugger which replaces the older plugger.

    Config file: /etc/mozpluggerrc
    Plugins directory: /usr/lib/mozilla/plugins
    (x86_64: /usr/lib64/mozilla/plugins)

    Note that you may have to extablish a soft link for Firefox upgrades.
    i.e.: ln -s /usr/lib/mozilla/plugins/mozplugger.so /opt/firefox/plugins

    This plugin uses various Linux media viewers for display of various mime types within mozilla.

    • RPM based OS: YUM install: yum -y install mozplugger
      (Red Hat Enterprise Linux/Fedora 1-9/CentOS)
    • Debian/Ubuntu: APT install: apt-get install mozplugger

  • Plugger: (legacy Red Hat 7-9.0)

    Home page and downloads: http://fredrik.hubbe.net/plugger.html

    Plugger is a Mozilla plug-in that ties many of the Linux applications to Mozilla so that they can be viewed within the browser rather than by launching a separate "helper" application. The plugin "plugger" installs with Red Hat 7-9 and handles most of the file types including pdf (requires xpdf or evince), Postscript (requires ggv. Note older versions of Linux used gv ghostview. Newer versions tend to use ggv Gnome ghostview.), mpeg (requires xanim), avi (requires xine or mplayer. If using xine, use "xine -p".), midi (timidity), wav (play), tiff (eog), bmp (eog), ...

    Plugger has the following media player dependencies: xloadimage (view image in X11 display), sox (sound sample translator) and mikmod (play soundtrack). These should be part of the Linux installation.

    Plugger will handle the following mime types: wav, midi, mpeg, mov, avi, png, tiff, bmp, pdf, ps, wav, au, mp3 etc. (partial list) [Description - suffixes man page]
    Plugger is configured to use the following applications: eog, xpdf, ggv, play, playmidi, xanim, xine, mtvp, timidity, xmp, mikmod, mpg123, xloadimage and display.

    Download the Mozilla plug-in, plugger (rpm) - part of Red Hat Linux base OS i.e.: http://mirrors.usc.edu/pub/linux/distributions/redhat/redhat/linux/9/en/os/i386/RedHat/RPMS/plugger-4.0-23.i386.rpm (RH 9.0)

    Download media support application RPMs:

    If the audio file plays back at too high a speed, then use esdplay instead of play.

    While Plugger is pre-configured to handle many mime types, there are gaps in format coverage. See file: /etc/pluggerrc for mime types and applications configured to work with plugger.
    Adding applications to /etc/pluggerrc

    application/vnd.ms-excel: xls, xlb: Microsoft Excel Document
    nokill exits: oocalc "$file" - Add this line repeat swallow(PluggerGnumeric) fill: gnumeric --class PluggerGnumeric "$file" ... ..
    Note: This seems to have been an oversight in Red Hat 9.0, plugger-4.0-23.

    Fix for Red Hat 8.0/9.0. The postscript viewer gv (ghostscript) has been supersceded by ggv (Gnome ghostscript) Update plugger reference by changing all references of gv to ggv:

    application/pdf: pdf: PDF file
    application/x-pdf: pdf: PDF file
    text/pdf: pdf: PDF file
    text/x-pdf: pdf: PDF file
            repeat swallow(documentShell) fill: acroread -geometry +9000+9000 -xrm '+useFrontEndProgram' "$file"
            repeat swallow(Xpdf) fill: xpdf -g +9000+9000 "$file"
            repeat swallow(ggv) fill: ggv -safer -quiet -antialias -geometry +9000+9000 "$file" 2>/dev/null
    application/x-postscript: ps: PostScript file
    application/postscript: ps: PostScript file
            repeat swallow(ggv) fill: ggv -safer -quiet -antialias -geometry +9000+9000 "$file" 2>/dev/null
            repeat swallow(Pageview) fill: pageview "$file"

After making changes to the plugger configuration file (/etc/mozpluggerrc or /etc/pluggerrc), remove the following auto generated configuration file (various names have been used) and restart the browser.

  • ~/.mozilla/firefox/pluginreg.dat
  • ~/.mozilla/pluginreg.dat
  • ~/.netscape/plugin-list

Note that web server support for additional mime types is added to /etc/mime.types or can be added with the directive "AddType" in the Apache httpd configuration file httpd.conf. Restart the httpd daemon after any configuration change.

Helper Plug-ins:
  • Adobe/Macromedia Flash Player:

    Fully supports: Firefox, SeaMonkey

    Flash Player Page: [Flash Player Download (10)]


    (from downloaded package)
    • RPM: rpm -ivh flash-plugin-xxx.xxx.i386.rpm
    • tar.gz file:
      1. Exit browser.
      2. Download: install_flash_player_10_linux.tar.gz
      3. Uncompress/install:
        tar xzf install_flash_player_10_linux.tar.gz
        cd install_flash_player_10_linux
        • If plugger RPM is installed, it will generate the directory /usr/lib/mozilla/plugins and you can install the flash plugins there. If not you can create the directory or use the existing Mozilla directory /usr/lib/mozilla-1.X.X/plugins/.
        • Note that you may have to extablish a soft link for Firefox upgrades.
          i.e.: ln -s /usr/lib/mozilla/plugins/libflashplayer.so /opt/firefox/plugins
          or ln -s /usr/lib/flash-plugin/libflashplayer.so /opt/firefox/plugins
      4. Restart browser.

    Or install from internet repository:

    • YUM: YUM install: yum -y --enablerepo=flash install flash-plugin
    • Ubuntu 14.04 APT: Google "Pepper Flash" for use with Firefox (Pepper Flash comes with Google Chrome so install Chrome first)
      • sudo add-apt-repository ppa:nilarimogard/webupd8
      • sudo apt-get update
      • sudo apt-get install freshplayerplugin
      Installs: /usr/lib/mozilla/plugins/libfreshwrapper-pepperflash.so
    • Ubuntu 14.04 APT: apt-get install adobe-flashplugin
      (requires adding the "Canonical Partners" "Other Software" repository using the Ubuntu "Software & Updates" GUI)
    • Ubuntu 10 APT: apt-get install flashplugin-mozilla
      (Install required directory structure: apt-get install flashplugin-nonfree)


    Mime types: (No configuration required by user)

           Description: Futuresplash
           File extension: spl
           Mime Type: application/futuresplash
           Description: Shockwave Flash
           File extension: swf
           Mime Type: application/x-shockwave-flash

    For more Flash info and links including development of an open source Flash player and tools.

    [Potential Pitfall]: Install fails

    install of flash-plugin- conflicts with file from package flash-plugin-7.0.25-1

    Remove old version first: rpm -e flash-plugin-7.0.25-1

    [Potential Pitfall]: Install script fails.
    Create directory /usr/lib/mozilla/components before running script: flashplayer-installer

    [Potential Pitfall]: Using 64 bit Linux on a x86_64 architecture?
    Four solutions:

    1. Adobe 64 bit Linux Flash plug-in: Homepage for the Adobe 32/64 bit Intel Flash plug-in
      • Flash Download home page: download x86_64 Flash plug-in libflashplayer.so
      • Download: wget http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_2_p3_64bit_linux_111710.tar.gz
      • Untar the download: tar xzf flashplayer10_2_p3_64bit_linux_111710.tar.gz
      • Put in plug-ins directory: cp libflashplayer.so /usr/lib64/mozilla/plugins/)
      • Restart Firefox

    2. Use the 32 bit plug-in wrapper for 64 bit browsers nspluginwrapper
      This plug-in wrapper allows a 64 bit browser to load 32 binary plugins.
      Ubuntu install: apt-get install nspluginwrapper
    3. Install GNU Gnash
      (Dependancies: OpenGL, SDL, GNOME libxml2)
    4. Install GplFlash (older but less resource hungry than Gnash)
      (Requires: MAD (MPEG Audio Decoder) Library "libmad": http://sourceforge.net/projects/mad/)
      Ubuntu/Debian: apt-get install libflash-mozplugin
    Also see # x86_64 Browser Pitfalls and Fixes

    Also see:

  • Moolight: Microsoft Silverlight dynamic and video content support

    Mono: Moonlight home page This installs from the browser. Visit the web site and select the install icon.

  • Real Player 10:

    Real Player - Select "Unix/Linux" link. [Download] and Helix Player project: http://player.helixcommunity.org
    Download: RealPlayer10GOLD.rpm (Requires RPM/package compat-libstdc++)

    1. Exit Browser.
    2. Download RPM package: RealPlayer10GOLD.rpm or executable: RealPlayer10GOLD.bin
      (or download Real player from Helix web site)
    3. Get rid of the old plugin if necessary:
      • [prompt]# rpm -q RealPlayer
      • [prompt]# rpm -e RealPlayer-8.0-1
    4. Install rpm: rpm -ivh RealPlayer10GOLD.rpm
      Installs to /usr/local/RealPlayer/. The name of the package in the RPM database will be "RealPlayer".
      (APT install: apt-get install realplayer)
    5. Post install script:
      • [prompt]# cd /usr/local/RealPlayer/postinst/
      • [prompt]# ./postinst.sh
        Take defaults: system-wide symbolic links? Y, and prefix for symbolic links [/usr]

      • The post install script will create soft links for the plug-ins into /usr/lib/netscape/plugins/, /usr/lib/mozilla/plugins/ and /usr/lib/firefox/plugins/.
      • The package will also install the stand-alone executable /usr/local/RealPlayer/realplay.bin
        (Must first set the environment variable HELIX_LIBS: export HELIX_LIBS=/usr/local/RealPlayer)
      • Installs Application menu launchers under "Sound and Video".
      • Configures GNOME mime types for desktop support.
      • Defaults to using OSS sound driver (older). To specify ALSA sound driver (Fedora Core and Linux kernel 2.6) edit file: ~/.realplayerrc

        (This and many more files installed/configured.)

    6. Configure Mozilla manually as follows: ("Edit" + "Preferences" + "Navigator" + "Helper Applications")
      Mime Type Suffix Application
      application/vnd.rn-realmedia rm /usr/local/RealPlayer/realplay.bin
      application/smil smi /usr/local/RealPlayer/realplay.bin
      audio/vnd.rn-realaudio ra,ram /usr/local/RealPlayer/realplay.bin
      audio/x-pn-realaudio ra,ram /usr/local/RealPlayer/realplay.bin
      video/vnd.rn-realvideo rv /usr/local/RealPlayer/realplay.bin
      audio/x-pn-realaudio-plugin rpm Plug In: RealPlayer
      (Plugin handles this one for you. No "Helper Application" to configure.)

    Test at:

    Desktop Launcher:

    • Name: RealPlayer
    • Command: /usr/local/RealPlayer/realplay.bin
      (Must first set the environment variable HELIX_LIBS: export HELIX_LIBS=/usr/local/RealPlayer)
    • Icon: /usr/local/RealPlayer/share/icons/realplay_48x48.png

    See the help files installed to file:///usr/local/RealPlayer/README
    (These links only available if you have installed Real Player 10)

  • Real Player 8: (legacy. See current Real Player 10 installation above.)

    1. Exit Browser.
    2. Rename the file substituting the "_" for "." in the file name.
      mv rp8_linux20_libc6_i386_cs2_rpm rp8.linux20.libc6.i386.cs2.rpm
    3. Get rid of the old plugin if necessary: rpm -e RealPlayer-7.0-3
    4. Install rpm: rpm -ivh rp8.linux20.libc6.i386.cs2.rpm
      • The rpm package will install the plug-ins into /usr/lib/netscape/plugins/ and /usr/local/netscape/plugins/.
      • The package will also install the stand-alone executable /usr/bin/X11/realplay
    5. Move files from the Netscape plugins directory to the Mozilla plugins directory.
      • cd /usr/lib/netscape/plugins/
      • mv raclass.zip rpnp.so /usr/lib/mozilla/plugins/

    Desktop Launcher:

    • Name: RealPlayer
    • Command: /usr/bin/X11/realplay
    • Icon: /usr/lib/RealPlayer8/rp7.xpm

    See the help files installed to file:///usr/lib/RealPlayer8/Help/realplay/introduction.htm -[index]
    (These links only available if you have installed Real Player 8)

    [Potential Pitfall]: If installing the binary instead of the RPM on a system with Native Posix Threads kernel (NPTL first available in Red Hat 9.0) one may have to set the following environment variable before running the downloaded script (rp8_linux20_libc6_i386_cs2.bin) and application:

    [Potential Pitfall]: Lock file may remain after a crash and prevent startup. Kill hung processes if they exist: killall realplay then remove lock file before startup: ~/.RealNetworks_RealShared_00

  • MPlayer all-in-one Mulimedia Video Player Plug-in:

    Awesome software but may violate patents and intellectual property laws. See: MPlayerHQ.hu. Source and pre-compile binary RPM packages available. Plays Real media, Microsoft Media Video (wmv), wav, SGI, mpeg2, H264, Indeo3, Sorenson3, VP3, 3ivx, FFv1, ASV1, VCR1/2, QuickTime, DVB, Tivo, mov, avi, ...


    • codecs: ac3, asf, DivX, DivX4, DivX5, FLI/FLC, mp3, mpeg-1 (VCD), mpeg-2 (DVD), mpeg-4 (v1 and v2), VIVO, Quicktime mov: svq1 and svq3 (Sorenson 1 and 3), Intel Indeo, Cinepak, Windows Media Video (7,8) wmv (WMV1, WMV2, WMV3)
    • video: aa, dga, ggi, gl, gl2, mga, pgm, sdl, x11, xmga, xvideo, xvidix (md5, png)
    • audio: mp1, mp2, mp3, Windows Media Audio 7/8/9 (WMAv1/WMAv2/WMAv3), AC3, Ogg Vorbis, Real Audio: AC3 DNET, Cook, Sipro, ATRAC3, Quicktime, VIVO, alaw, ulaw, various gsm, adpcm and pcm

    See plugin support for MPlayer. http://mplayerplug-in.sourceforge.net/
    Download source or pre-compiled binaries or RPM's:


    • YUM: yum -y --enablerepo=freshrpms install mplayer mplayerplug-in mplayer-gui mplayer-skin-default mplayer-font-iso mplayer-codecs mplayer-codecs-extra mplayer-vidix
    • APT: apt-get install mplayer-386 mplayer-fonts mozilla-mplayer
      • Pentium III: mplayer-586
      • Pentium II/IV/MMX/M/D,AMD Athlon/Duron/Sempron: mplayer-386
      • AMD 64: mplayer-amd64
      • PowerPC: mplayer-powerpc
      • Mac G4: mplayer-g4

    For more MPlayer information / documentation see the YoLinux Video tutorial

  • Codeweavers CrossOver Quicktime Plug-in:

    This plugin allows one to view Quicktime video including those encoded with the Sorenson codec. It also handles other media types. It is a commercial package which must be purchased ($24.95) before downloading (or shipped CD). The CrossOver package consists of Wine and the Apple Quicktime viewer. It comes with an installer and configurator which makes this a simple install.
    Codeweavers Home Page - Select "Cross Over Plugin downloadable"
    See List of supported Codeweaver plugins.
    The MPlayer plugin above will now handle everything you need.

  • XMMS: All-in-one audio player. (Managed by mozplugger or plugger.)

    XMMS (X MultiMedia System) supports various audio formats with the use of plugins. XMMS is included in the Red Hat and Fedora Core distributions but support for MP3 is not included due to licensing issues. MP3 support and other packages are available for download.

    XMMS all-in-one audio player: XMMS Home Page

    XMMS Installation:

    • Ubuntu 18.04: sudo apt-get install xmms2
      (installs: xmms2-core, xmms2-plugin-mad, xmms2-plugin-pulse, xmms2-plugin-vorbis, xmms2-plugin-alsa, ...)
    • YUM: yum -y --enablerepo=dag install xmms xmms-skins xmms-flac xmms-mp3 kdeaddons-xmms xmms-status-plugin xmms-alsa xmms-esd xmms-mikmod xmms-vorbis xmms-gl libogg libvorbis libmikmod libmad libid3tag
    • RPMs available with Fedora Core distribution (Fedora.Redhat.com): xmms, xmms-flac, xmms-skins
    • RPM libraries and packages available with Fedora Core distribution (Fedora.Redhat.com): libogg, libvorbis
    For a huge list of XMMS plugins to display CD covers, lyrics, infrared device support, X-10 support, ... , see http://xmms.org.

    Alternative MP3 audio plugins: (part of Fedora distribution.)

    • mpg321: Package mpg321 Free drop-in replacement for mpg123.
    • ogg123: Package vorbis-tools

  • Audio players: (Part of base distribtution. Configured by default to run with mozplugger)

    Media Player Package name Formats Description
    playmidi playmidi midi,mid MIDI audio player
    (Uses MIDI devices ie FM/GUS/AWE 32.)
    sox sox au,snd Basic audio file player
    play sox au,snd
    Basic audio file player
    sid, psid SID Commodore 64 audio file player

  • SVG viewer plug-in: (No longer needed. Browsers now support native SVG. Adobe SVG plug-in no longer available.)

    Scalable Vector Graphics (SVG) viewer. Note that Firefox 1.5+ supports native viewing of SVG. All attempts to use the Adobe plug-in failed. Don't bother. Use Firefox 1.5 (or better) with it's native SVG support to view SVG files.

    Mime types: (No configuration required by user)

    Description: Scalable Vector Graphics
    File extension: svg,svgz
    Mime Type: image/svg+xml
    File extension: svg
    Mime Type: image/svg-xml
    File extension: svg_adobe
    Mime Type: image/vnd.adobe.svg+xml

  • Tcl/Tk plugin:

    Allows execution of Tcl/Tk script in browser window.

    Download: Tcl Developer Xchange (lots of security implications)


           zip -dc tclplug20-x86-linux.tar.gz
    tar xf tclplug20-x86-linux.tar
    cd tclplug20-x86-linux

    Additional info note: This plugin should only be used with trusted sites or intranets. It allows the script to be downloaded from a website and executed in the browser locally. It allows the full power of Tcl/Tk. a "Safe-Tcl" Tcl interpreter is available which only executes a subset of Tcl is available from this web site.

  • VRML Plugins:

    3D Virtual Reality Modeling Language (VRML) geometry model viewers.

    Helper programs: VRML Links: 3-D Mime Types:
    • VRML: model/x3d+vrml
      Extension: wrl (compressed: wrl.gz)
    • X3D: model/x3d+xml
    • X3Db: model/x3d+binary
    X3D: (VRML next gen in compressed XML)

  • DjVu Web Browser Plug-in:

    Scan-toWeb solution for digital documents: Developed at AT&T Labs for viewing compressed high resolution images. Talk about esoteric. Just added this to make the list complete.

  • nDVI - a LateX DVI viewer plugin for Mozilla

    Download: Evince home page - regular Gnome app distributed with most Linux systems

  • Math and Math Symbols:
    • MathZilla plug-in: Firefox 1.5+ includes native MathML support.
      View Math symbols represented in XML in your browser.
    • jsMath: All you need are the right fonts. Javascript does the rest.
    • Live Math: (proprietary)
      This commercial cross platform plug-in supports their LiveMath product for the creation of equation symbols and graphics.

Plugin Links:

Configuring Mozilla/SeaMonkey Helper Applications:

The configuration described below and the script shown, applies to the Mozilla/SeaMonkey browser only. The Firefox browser does not accept user defined applications for mime type handling. Firefox only accepts plug-ins and thus any additional support must be configured through the "MozPlugger" plug-in.

Links to file types not handled by the Mozilla/SeaMonkey browser or e-mail attachments not handled by the Mozilla/SeaMonkey e-mail client are opened by helper applications. The file mime type and/or file extension identifies the file type. This section of the tutorial shows how to configure the Mozilla/SeaMonkey web browser to support additional file types. This is different than using a plug-in which allows for the file to be viewed within the browser. Helper applications are launched as separate applications.

The following configuration instructions for allowing Mozilla to handle various media formats ultimately results in the modification of the files $HOME/.mailcap, $HOME/.mime.types and $HOME/.mozilla/user-id/xxxxxx.slt/mimeTypes.rdf.

Mozilla/SeaMonkey: Edit + Preferences + choose: Navigator + Helper Applications:

Downloads: The easiest way to download the appropriate components is with the YUM, the "Yellow Dog" network RPM package installer. See YoLinux tutorial on YUM configuration and how to add the FreshRPM.net site to your download list which will allow you to have access to the media player applications which are not included in the base install.

Mime Types and Applications:

  • application/octet-stream: This mime type is very vague but used all the time especially by Microsoft e-mail clients like Outlook. There is no single application to handle the multitude of file types which are sent with this mime type. Only the file extention or actual file interrogation of its magic number (file command) can reveal the contents. The following script and program attempt to launch the appropriate application for this mime type.

        Description: Octet-Stream Handler
        File extension: url, doc, dot, rtf, xls, xlt, xlm, xld, xla, xlc, xlw, xll, 
                        ppt, pot, ppa, pps, pwz, pdf, ai, eps, ps, bmp, png, xpm, 
                        pgm, ico, jpg, jpeg, jpe, gif, tiff, tif, xwd, svg, svgz, rm, smi, ra, 
                        ram, rv, mpg, mpeg, mpe, mp2, wmv, asf, asx, wma, wax, wmv, 
                        wmx, mov, vcf, txt, cpp, cc, h, hh, idl, c, C, java
        MIME Type: application/octet-stream
        Application: /opt/bin/mozilla-octet-stream.sh

    Now why would an mpeg movie or a jpeg image ever be sent as an octet-stream? Either its a Microsoft product which sent it or a misconfigured server is unaware of the mime type or "dumbed down" to avoid having users use this media type.

    This solution uses a shell script /opt/bin/mozilla-octet-stream.sh and executable /opt/bin/suffix compiled from the source below.

    File: /opt/bin/mozilla-octet-stream.sh

    # Description: This handles mime type application/octet-stream for Mozilla.
    # This shell script uses the file extention to determine
    # which application to use as the mime type is vague
    # License: BSD # Author: Greg Ippolito FILE_EXTENTION=`/opt/bin/suffix "$1" | tr '[:upper:]' '[:lower:]'` case "$FILE_EXTENTION" in url) # Microsoft Outlook can generate a "url" attachement. # See http://www.mozilla.org/unix/remote.html # Executable path is dependant on distribution. This is for Red Hat 8.0 # Use the command "ps -auwx" to find the actual process name.
    /usr/lib/mozilla-1.0.1/mozilla-bin -remote "openURL(`awk -F\"=\" '/^URL/ { print $2 }' \"$1\" `)"
    doc | dot | rtf)
    /usr/bin/oowriter "$1" &
    xls | xlt | xlm | xld | xla | xlc | xlw | xll)
    /usr/bin/oocalc "$1" &
    ppt | pot | ppa | pps | pwz)
    /usr/bin/ooimpress "$1" &
    /usr/bin/xpdf "$1" & # or /usr/bin/evince (RHEL5) or /opt/Acrobat5/bin/acroread if installed break ;; ai | eps | ps) /usr/X11R6/bin/ggv "$1" & break ;; bmp | png | xpm | pgm | ico | jpg | jpeg | jpe | gif | tiff | tif | svg | svgz) /usr/bin/eog "$1" & break ;; xwd) xwud -in "$1" & break ;; rm | smi | ra | ram | rv) /usr/X11R6/bin/realplay "$1" & break ;; mpg | mpeg | mpe | mp2) /usr/bin/xine -p "$1" & break ;; wmv | asf | wma | wax | wmx | mov) /usr/bin/mplayer "$1" & break ;; vcf) /usr/bin/gedit "$1" & break ;; txt | cpp | cc | h | hh | idl | c | C | java) /usr/bin/gedit "$1" & break ;; *) gvim "$1" & ;; esac;

    One may also use the Bash shell funtion:

    You may replace the line in script above:
    FILE_EXTENTION=`/opt/bin/suffix "$1" | tr '[:upper:]' '[:lower:]'`

    with the following code segment:
    function getfileext () {
    echo ${file##*.}
    FILE_EXTENTION=`getfileext $1`
    This may be used instead of the following program "suffix" below except that this shell function will not work on file names with embedded blanks. Using the program suffix is superior than using the bash function getfileext ().

    File: suffix.c
    Source code to /opt/bin/suffix

    /* File: suffix.c
    Description: This command line program returns the suffix of a file name
    as defined by the characters following the last "." in the
    file name.
    License: BSD Author: Greg Ippolito */ #include <stdio.h> #include <stdlib.h> /* for exit */ #include <string.h> #include <stdlib.h> int main(int argc, char *argv[]) { size_t i, ilen; int isuffix_len; int j=0; int k=0; char *suffix; if(argc < 1) return -1; ilen = strlen((const char *)argv[1]); for(i=ilen; i!=0; i--) { if((int)argv[1][i] == '.') // Pointer math. { isuffix_len = ilen - i; for(j=i+1; j<=ilen; j++) { putchar(argv[1][j]); } putchar('\n'); break; } } return 0; }
    Compile: gcc -o /opt/bin/suffix suffix.c

    Both the shell script and program must have execute privileges:

    chmod ugo+x /opt/bin/mozilla-octet-stream.sh /opt/bin/suffix

  • application/ms-tnef: Transport Neutral Encapsulation Format
    This format is used by Microsoft Outlook for attachments. Use TNEF, a program for unpacking MIME attachments of type "application/ms-tnef".

    Mozilla/SeaMonkey Configuration:

        Description: Microsoft 
    File extension:
    MIME Type: application/ms-tnef
    Application: /opt/bin/tnef-mozilla.sh

    Use application TNEF to list and unpack contents of tenf attachments:

    Application TNEF Installation:

    tar xzf  tnef-1.2.1.tar.gz
    cd tnef-1.2.1
    ./configure --prefix=/opt
    make install

    Using interactive command tnef:
    • List encapsulated files: /opt/bin/tnef --list file-type-tnef
    • Extract contents: tnef -f file-type-tnef
    • Help: tnef -h

    File: /opt/bin/tnef-mozilla.sh

    /usr/X11R6/bin/xterm -bg black -fg green -s -hold -title "List of encapsulated files in email attachment:" \
    -e /opt/bin/tnef --list "$1"

  • Microsoft doc: (See review of Office Suites for a full review of MS/Word import compatability)
        Description: Microsoft Word Document
    File extension: doc,dot
    MIME Type: application/msword
    Application: /usr/bin/oowriter
        Description: Machintosh Word File
    File extension: doc,dot
    MIME Type: application/appfile
    Application: /usr/bin/oowriter
        Description: Rich Text Format
    File extension: rtf
    MIME Type: application/rtf
    Application: /usr/bin/oowriter

  • Document MS/Excel:
        Description: Microsoft Excel Worksheet
    File extension: xls,xlt,xlm,xld,xla,xlc,xlw,xll
    MIME Type: application/vnd.ms-excel
    Application: /usr/bin/oocalc
    gnumeric Home Page (Rpm is part of the base Red Hat Linux CD installation

  • Microsoft PowerPoint Document:
        Description: Microsoft PowerPointShow
    File extension: ppt,pot,ppa,pps,pwz
    MIME Type: application/vnd.ms-powerpoint
    Application: /usr/bin/ooimpress

  • Document Adobe/pdf: Acroread (Adobe has dicontinued Acroread for Linux. Use Gnome's Evince PDF viewer

Notes for Acrobat Reader 5.0: (legacy)

  • The Acroread PDF viewer includes a NPAPI plug-in nppdf.so but I never got it to work. The Adobe acroread application as configured above works like a champ.
  • [Potential Pitfall]: Acroread 5.0 - The default Red Hat 8.0/9.0 UTF-8 language environment variable is incompatable with Adobe Acroread. One must set "LANG" to something else. i.e.: export LANG=C It can be set in your login profile or near the beginning of the shell script /opt/Acrobat5/bin/acroread
  • Red Hat (8,9,E3,E4) comes with the plug-in "plugger" which will launch the xpdf viewer which seems to be just as capable as Adobe Acroread. Acroread has more printing features. Evince (/usr/bin/evince) was introduced with Red Hat Enterprise 5.

Download Acroread desktop icon to use with this application.

  • Image X11/xwd:
        Description: X Window Dump Image
    File exxtension: xwd
    MIME Type: image/x-xwindowdump
    Application: /usr/X11R6/bin/xwud -in
    xwud is part of Red Hat Linux installation (May be located in /usr/bin/xwud in newer distributions.)

  • Images pcx/bmp:
        Description: PCX Image
    File exxtension: pcx
    MIME Type: application/pcx
    Application: /usr/X11R6/bin/xv

    Description: Windows Bitmap
    File extension: bmp
    MIME Type: image/x-MS-bmp
    Application: /usr/X11R6/bin/xv

    Red Hat 8.0 systems introduced /usr/bin/eog. Later releases include gthumb.
    xv Home Page (Rpm is part of Red Hat Linux Powertools CD (RH 7.0. Not found in 7.1???) http://www.ibiblio.org/pub/Linux/distributions/redhat/7.0/en/powertools/i386/RedHat/RPMS/xv-3.10a-23.i386.rpm and xv-docs-3.10a-23.i386.rpm

  • Virtual Bussiness Card - VCard:
        Description: Virtual Bussiness Card
    File extension: vcf
    MIME Type: image/x-vcard
    Application: /usr/bin/gedit
    Current Red Hat 8.0 systems use /usr/bin/eog

  • Image multipage fax - tiff:
        Description: KFax Viewer
    File extension: tif,tiff
    MIME Type: image/x-tiff
    Application: /usr/bin/kfax
    kfax is part of Red Hat Linux installation

    Note: Note kfax is part of RPM: kdegraphics. kdegraphics-2.1.1-1.i386.rpm

    This application works well for multi-image tiff fax files sent by JFax and other fax-mail services.

  • MPlayer all-in-one Mulimedia Video Player:

    Awesome software but may violate patents and intellectual property laws. See: MPlayerHQ.hu. Source and pre-compile binary RPM packages available. Plays Real media, Microsoft Media Video (wmv), wav, SGI, mpeg2, H264, Indeo3, Sorenson3, VP3, 3ivx, FFv1, ASV1, VCR1/2, QuickTime, DVB, Tivo, mov, avi, ...

        Description: MS ASF video
    File extension: asf,asx,wma,wax,wmv,wmx
    MIME Type: video/x-ms-asf
    Application: /opt/bin/mplayer-run

    Description: Windows Media Video
    File extension: wmv
    MIME Type: video/x-ms-wmv
    Application: /opt/bin/mplayer-run

    Description: Windows Media
    File extension: wmv,asf,mov
    MIME Type: application/x-mplayer2
    Application: /opt/bin/mplayer-run
    Shell script to launch MPlayer: /opt/bin/mplayer-run
    /usr/bin/mplayer -playlist "$*"
    Other methods of launching MPlayer:
    • xterm -e /usr/bin/mplayer '%s'

    See # MPlayer download and install instructions above.

  • Audio mp3: XMMS (Default Fedora Core uses mozplugger plug-in configuration. See above.)

    See XMMS installation above. XMMS supports: mp3, m3u, wav, ogg, ...

        Description: MPEG audio
    File extension: mp3
    MIME Type: audio/mp3
    Application: /usr/bin/xmms

    Description: MPEG audio
    File extension: mpa,abs,mpega
    MIME Type: audio/mpeg
    Application: /usr/bin/xmms

    Description: MPEG audio
    File extension: mpa,abs,mpega
    MIME Type: audio/x-mpeg
    Application: /usr/bin/xmms

    Description: MPEG audio stream, music resource locator
    File extension: mp3, m3u
    MIME Type: audio/x-mpeg-url
    Application: /usr/bin/xmms

    Description: MPEG audio stream, music resource locator
    File extension: mp3, m3u
    MIME Type: audio/mpeg-url
    Application: /usr/bin/xmms

    Description: Shoutcast Playlists
    File extension: pls
    MIME Type: audio/x-scpls
    Application: /usr/bin/xmms

    Description: OGG audio
    File extension: ogg
    MIME Type: audio/x-ogg
    Application: /usr/bin/xmms

    Description: OGG audio
    File extension: ogg
    MIME Type: application/ogg
    Application: /usr/bin/xmms

    Description: OGG audio
    File extension: ogg
    MIME Type: application/x-ogg
    Application: /usr/bin/xmms

    Description: Microsoft wave file
    File extension: wav
    MIME Type: audio/wav
    Application: /usr/bin/xmms

    Description: Microsoft wave file
    File extension: wav
    MIME Type: audio/x-wav
    Application: /usr/bin/xmms

    Description: Microsoft wave file
    File extension: wav
    MIME Type: audio/x-pn-wav
    Application: /usr/bin/xmms

    Description: Microsoft wave file
    File extension: wav
    MIME Type: audio/x-pn-windows-acm
    Application: /usr/bin/xmms

    Alternative audio players:

  • Music SID: (use plug-in.)
        Description: SID Commodore 64 Audio player
    File extension: sid,psid
    MIME Type: audio/prs.sid
    Application: Use plug-in to launch sidplay

  • Google Earth KML:
    Download Linux client
        Description: KML Google Earth
    File extension: kml
    MIME Type: application/vnd.google-earth.kml+xml
    Application: /opt/google-earth/googleearth

    If using a proxy (example setting): export http_proxy=http://proxy.megacorp.com:80

  • Bittorrent: (Distributed download client. Manages ".torrent" files)
    Download Linux client (source, YUM, RPM or .deb) Available for Python 2.3 and 2.4.
    • yum install BitTorrent
    • Download: BitTorrent-4.20.7-1-Python2.3.noarch.rpm

        Description: BitTorrent
    File extension: torrent
    MIME Type: application/x-bittorrent
    Application: /usr/bin/bittorrent

    BitTorrent download panel:

    Install RPM prerequesites: (YUM install did not seem to require them but RPM did)

    • python(abi)
    • python-crypto
    • python-twisted
    • wxPython (Also installs wxGTK2)
    • python-psyco
    • python-zopeinterface
  • Gnome Nautilus and Mime Types:

    Applies to RH 8/9. Newer Fedora systems are migrating to Gnome VFS.

    The Gnome Nautilus Mime Type configuration tool will also define mime types for Mozilla/SeaMonkey. The configuration tool /usr/bin/gnome-file-types-properties will edit the following user configuration files:

    • $HOME/.gnome/mime-info/user.keys: List mime types and the associated application/viewer.
    • $HOME/.gnome/mime-info/user.mime: Mime types and the associted file extention

    System values:

    • /usr/share/mime-info/gnome.mime



    Keyboard shortcuts:

    Go / Navigation Key
    Back Alt-LeftArrow
    Forward Alt-RightArrow
    Stop ESC
    File Menu
    New Navigator Window Cntl-n
    New Msg E-mail Window Cntl-m
    New Composer Window Cntl-Shift-n
    New Radio Window
    (Real Audio)
    Open Page Dialog Box Cntl-o
    Save As... Cntl-s
    Print... Cntl-p
    Close Window Cntl-w
    Exit Mozilla Cntl-q
    Edit Menu
    Find in Page... Cntl-f
    View Menu
    Refresh Page Cntl-r
    View Page Source Cntl-u
    Tools Menu
    Show History Cntl-h
    Display bookmarks panel Cntl-b
    Dynamic Zoom (scale text)
    Zoom In Cntl +
    Zoom out Cntl -

    Registering your default browser:

    Set in config file: ~/.htmlviewrc

    About URLs:

    • about:config
    • about:plugins
    • about:

    FTP Uploads:

    Use the following syntax: ftp://login:password@ftp-site.com

    • Select "File" + "Upload File..."
    • Open two Mozilla windows, one showing the destination FTP directory and the other showing the local directory. Now drag and drop.

    Locked out after a crash?:

    [Pitfall]: If you experienced a system crash and subsequently rebooted and tried to start Mozilla but are prevented from using your user profile, you may have to remove the "lock" file. The lock file prevents more than one instance of Mozilla from running on a single profile. It is a symbolic link which will have to be removed before starting Mozilla. Remove it: rm $HOME/.mozilla/userid/dji9dszq.slt/lock where the funky "slt" directory name will be unique to your user id. Newer versions of Firefox will also have an additional lock file: ~/.mozilla/firefox/9f2f04yd.default/.parentlock
    Profile in use dialog box

    Adding a BBC News Feed:

    Method 1 - Add RSS feed to Bookmarks: (Not the best way. See method 2)
    • Right-click on the "Bookmark" toolbar
    • Select "New Bookmark"
      • Name: Latest Headlines
      • Location: http://fxfeeds.mozilla.org/rss20.xml

    Method 2 - Add BBC Live Bookmark: (best method) A new bookmark button will be generated on the Bookmarks toolbar. A push feed of headline news is updated in the pulldown menu.
    To remove, right click on the bookmark and select "Delete".

    Using ssh tunneling and a Remote Proxy:

    You can create an ssh tunnel to a remote system and use the remote system as a proxy.

    Local system: Connect to remote system using ssh and dynamic port forwarding.

    ssh -D port-number login-id@remote-node
    ssh -D 9999 user1@node6.mega-corp.com
    This establishes a connection to the remote node and configures traffic on local port 9999 to be forwarded to the remote system which acts as a proxy and fulfill the network request.

    Mozilla/SeaMonkey Configuration:

    • Select "Edit" + "Preferences..."
    • On the left hand side of the window select and expand on the browser tree "Advanced" + "Proxies"
    • Select "Manual Proxy Configuration"
    • Select "SOCKS V4"
    • Set entries:
      • Socks Host: localhost
      • Port: 9999

    Remote system: The service sshd must be running.

    Browser requests will be forwarded to local port 9999 through ssh to the remote node which will fulfill the request. I have tried this for http web request as well as e-mail POP3 inbound mail and SMTP outbound mail and it works!

    x86_64 Browser Pitfalls and Fixes:

    The Mozilla/SeaMonkey and Firefox browsers compiled for the x86_64, 64 bit architecture (AMD Athelon/Opteron/Turion 64 and Intel EM64T) do NOT support proprietary plug-ins compiled for the i386, 32 bit processor architecture. This is a problem if you want to use Macromedia Flash plug-ins which are compiled for 32 bit architectures. The solution is to use the 32 bit i386 browser binaries (and their dependencies) on the x86_64 version of Linux. This works because x86_64 Linux (i.e. AMD Athelon) supports the option to run both 32 bit i386 and 64 bit x86_64 binaries by supplying 32 bit libraries on the 64 bit OS. This is true for both RedHat and Debian/Ubuntu distributions.

    RPM based OS Fix: (FC-3 example)

    • Remove x86_64 RPMS:
      • rpm -e firefox mozplugger
    • Install i386 RPMS:
      • rpm -ivh firefox-0.10.1-1.0PR1.20.i386.rpm mozplugger-1.6.2-1.i386.rpm

    You can also specify the architecture when using YUM for installation: yum -y install firefox.i386

    Ubuntu/Debian based OS Fix:

    • Remove x86_64 packages:
      • dpkg -r firefox mozplugger
    • Install i386 packages:
      • dpkg -i --force-architecture firefox-3.0......deb

    Generic Linux/Unix based Fix:

    Download tar file from http://mozilla.com and install to /opt:
    • mv firefox-3.0.5.tar.bz2 /opt
    • cd /opt
    • tar xjf firefox-3.0.5.tar.bz2

    If you insist on using x86_64 browser binaries, make sure you:


    Install Microsoft True Type fonts to correctly render pages targeted for the Microsoft browser and fonts.
    See YoLinux tutorial on installing fonts and Microsoft True Type Fonts


    Book imageBooks:

    "Netscape Mozilla Source Code Guide" (and CD)
    By William R. Stanek
    ISBN# 0764545884 Hungry Minds, Inc.
    "Creating Applications with Mozilla"
    by David Boswell, Brian King, Ian Oeschger, Pete Collins, Eric Murphy
    ISBN# 0596000529 O'Reilly and Associates

    "Rapid Application Development with Mozilla"
    by Nigel McFarlane
    ISBN# 0131423436 Prentice Hall PTR; 1st edition (October 17, 2003)

    "Essential XUL Programming"
    By Vaughn Bullard, Kevin T. Smith, Michael C. Daconta
    ISBN# 0471415804 John Wiley and Sons

    XUL (XML User Interface Language) is an XML-based user interface language that gives Web developers control over all aspects of the Web interface.