Funtoo Linux offers a number of possibilities when it comes to Web browsers. This page is intended to give you an overview of what is available, their various trade-offs, and also provide tutorial-style instructions on how to set them up so they offer full functionality. Additionally, instructions are provided on how to set up the Oracle Java Runtime Environment for running Java applets.

+

{{Ebuild

−

+

|Summary=Streaming media plugin for Mozilla, based on netscape-plugger

−

==== Prerequisites ====

+

|CatPkg=www-plugins/mozplugger

−

+

|Homepage=http://mozplugger.mozdev.org/

−

Before installing a Web browser, ensure that you have a functioning X environment or desktop environment set up.

+

−

+

−

== Google Chrome (binary) ==

+

−

+

−

The Google Chrome (binary) ebuild is <tt>www-client/google-chrome</tt>. Google Chrome is a very good Web browser. This browser is a great option for those who want a full-featured browser up and running quickly without a lot of complication.

+

−

+

−

==== Advantages ====

+

−

+

−

* It's very fast to install, because it does not need to be built from source.

+

−

* It includes support for Adobe Flash and PDF viewing built-in, which works right away with no additional configuration.

+

−

* It works well with [[PulseAudio]] with no additional configuration required.

+

−

* Overall, the browser looks fantastic and is very fast.

+

−

+

−

==== Disadvantages ====

+

−

+

−

* Included Flash does not support Amazon Video on Demand, which requires older DRM support. See Firefox as an option for this.

+

−

* It's based on a binary for Debian systems, and sometimes depends on outdated versions of ebuilds to run.

+

−

+

−

=== Google Chrome Installation ===

+

−

+

−

As root, you first need to accept the Google Chrome license, as follows:

+

−

+

−

<console>

+

−

# ##i##emerge google-chrome --autounmask-write

+

−

</console>

+

−

+

−

Now, run <tt>etc-update</tt> and accept the changes made to <tt>/etc/portage/package.license</tt>. Now, emerge:

+

−

+

−

<console>

+

−

# ##i##emerge -a google-chrome

+

−

</console>

+

−

+

−

== Chromium ==

+

−

+

−

Chromium (<tt>www-client/chromium</tt>) is the from-source version of Google Chrome, and is a very good option for people who like Google Chrome but who want to build from source. Like most modern Web browsers, it does take a '''very long''' time to build -- up to ''several hours'' on a dual-core system, and about an hour on a 4-6 core system.

+

−

+

−

After emerging, it requires a special helper package <tt>www-plugins/chrome-binary-plugins</tt> for Adobe Flash as well as PDF viewing support.

+

−

+

−

==== Advantages ====

+

−

+

−

* It is built from source, so it has fewer issues with dependencies than Google Chrome, yet it is very similar in functionality.

+

−

* It looks great, and works well.

+

−

* With an easy emerge of <tt>www-plugins/chrome-binary-plugins</tt>, it provides identical functionality to Chrome in regards to Adobe Flash and PDF support.

+

−

+

−

==== Disadvantages ====

+

−

+

−

* It takes a very long time to build, even on a modern system, so be prepared to wait.

+

−

+

−

=== Installing Chromium ===

+

−

+

−

To install Chromium, you will need to enable the <tt>minizip</tt> USE flag for <tt>sys-libs/zlib</tt>, and I also recommend enabling <tt>aura</tt> for Chromium itself, which is a new GPU-accelerated architecture. Add the following lines to <tt>/etc/portage/package.use</tt>:

+

−

+

−

<pre>

+

−

sys-libs/zlib minizip

+

−

www-client/chromium aura

+

−

</pre>

+

−

+

−

Okay, now it's time to emerge Chromium:

+

−

+

−

<console>

+

−

# ##i## emerge -a www-client/chromium

+

−

</console>

+

−

+

−

This will take a long time to complete. After you're done, emerge Chrome helper programs to enable Adobe Flash and PDF viewing support. First, review and accept the license:

+

−

+

−

<console>

+

−

# ##i##emerge www-plugins/chrome-binary-plugins --autounmask-write

+

−

</console>

+

−

+

−

Now, run <tt>etc-update</tt> and accept the changes that it made to <tt>/etc/portage/package.license</tt>. Now, emerge the plugins for real:

+

−

+

−

<console>

+

−

# ##i##emerge www-plugins/chrome-binary-plugins

+

−

</console>

+

−

+

−

=== Making Chromium Look Sexier ===

+

−

+

−

If you like the default "blue" look of Chrome, and want Chromium to look like that, go to the hamburger ("3 bar") menu in the upper right, go to '''Settings''', and under '''Appearance''', click '''Use Classic theme'''. Flash some gang signs to imaginary onlookers, and you are done.

+

−

+

−

== Firefox (binary) ==

+

−

+

−

The Firefox binary Web browser, <tt>www-client/firefox-bin</tt> is another good option. It is more feature-rich as opposed to the "lean and mean" Chrome/Chromium.

+

−

+

−

==== Advantages ====

+

−

+

−

* Firefox is a great, full-featured Web browser.

+

−

* It is quick to install, because it is a binary.

+

−

* Can easily be made to support Amazon Video on Demand (Amazon Prime.)

+

−

+

−

==== Disadvantages ====

+

−

+

−

* It works well with [[ALSA]] by default, but requires tweaks to get working with [[PulseAudio]].

+

−

* A separate merge of <tt>www-plugins/adobe-flash</tt> is required for Adobe Flash support.

+

−

+

−

=== Installing Firefox ===

+

−

+

−

First, emerge Firefox itself. This is quick:

+

−

+

−

<console>

+

−

# ##i## emerge www-client/firefox-bin

+

−

</console>

+

−

+

−

By default, Firefox does not support Adobe Flash. Let's fix this:

+

−

+

−

<console>

+

−

# ##i## emerge www-plugins/adobe-flash --autounmask-write

+

−

</console>

+

−

+

−

Now, run <tt>etc-update</tt> and accept the changes that Portage made to <tt>/etc/portage/package.license</tt>. Now, let's get Flash installed:

+

−

+

−

<console>

+

−

# ##i## emerge www-plugins/adobe-flash

+

−

</console>

+

−

+

−

To support Amazon Video on Demand, the following package needs to be installed:

+

−

+

−

<console>

+

−

# ##i## emerge media-libs/hal-flash

+

−

</console>

+

−

+

−

Firefox is now installed!

+

−

+

−

=== Firefox and Audio ===

+

−

+

−

{{Note|This doesn't seem to be required anymore with Firefox and recent versions of PulseAudio, which can use an ALSA sink to funnel audio automagically into PulseAudio.}}

+

−

+

−

By default, Firefox will try to use an ALSA device for audio. To get Firefox to use PulseAudio, create an <tt>.asoundrc</tt> file in your Firefox user's home directory that looks like this:

+

−

+

−

<pre>

+

−

pcm.!default

+

−

{ type pulse

+

−

hint.description "Default Audio Device"

+

−

}

+

−

ctl.!default {

+

−

type pulse

+

−

}

+

−

</pre>

+

−

+

−

This will route ALSA to PulseAudio by default -- I believe you may need to restart your X session to get these changes to apply.

+

−

+

−

I also recommend emerging <tt>media-sound/pavucontrol</tt> -- the PulseAudio Volume Control app. Some casual tweaking in here to set the output device for Firefox should result in audio working for you.

+

−

+

−

=== Firefox and gstreamer ===

+

−

+

−

Firefox-bin is currently compiled against gstreamer 0.10.x so if you wish to use sites like soundcloud or bandcamp without flash then you will need to have media-libs/gst-plugins-good, media-libs/gst-plugins-bad, media-libs/gst-plugins-ugly, media-plugins/gst-plugins-ffmpeg and media-plugins/gst-plugins-mad installed (version 0.10.x for all). If you are compiling firefox yourself (non -bin version) then gst-plugins 1.x versions can be used to build against.

+

−

+

−

=== Watching videos with embedded mpv ===

+

−

+

−

Mpv can be used as a video player inside firefox. You will need to www-plugins/mozplugger and make the following changes:

Now, run <tt>etc-update</tt> and accept the changes that Portage made to <tt>/etc/portage/package.license</tt>. Now, let's get Flash installed:

+

−

+

−

<console>

+

−

# ##i## emerge www-plugins/adobe-flash

+

−

</console>

+

−

+

−

dwb is now installed!

+

−

-->

+

−

+

−

== Oracle Java Runtime Environment ==

+

−

+

−

Enabling a Java Runtime Environment isn't a must-have for everyone, but it's nice to have installed in case you need it. And some of us have a need to run a Java app now and again, so let's look at getting it installed. It's quite easy to get going.

+

−

+

−

First, let's accept the Oracle Java SE License:

+

−

+

−

<console>

+

−

# ##i##emerge dev-java/oracle-jre-bin --autounmask-write

+

−

</console>

+

−

+

−

Now, run <tt>etc-update</tt> and accept the changes it made to <tt>/etc/portage/package.license</tt>. Now, let's emerge the Oracle JRE:

+

−

+

−

{{fancyimportant|1=

+

−

Please ensure that the <tt>nsplugin</tt> USE flag is enabled when you run <tt>emerge</tt>, below. This enables the Web browser plugin.}}

+

−

+

−

<console>

+

−

# ##i##emerge -a dev-java/oracle-jre-bin</console>

+

−

+

−

The Oracle JRE is now installed.

+

−

+

−

=== Running Java Applets ===

+

−

+

−

If your Web browser prompts you for an application to run <tt>.jnlp</tt> files, instruct it to use <tt>/opt/oracle-jre-bin-1.7.0.51/bin/javaws</tt> (also known as "Java Web Start".) You can also use <tt>javaws</tt> to run <tt>.jnlp</tt> files from an xterm.

+

−

+

−

=== Java and Security ===

+

−

+

−

Starting with Oracle JRE 1.7.0.51 and higher, Java has enhanced security settings and may refuse to run some Java applets. Normally, this is fine and good, unless you absolutely need to run an app and Java is refusing to run it. To get around this, open up an xterm as your browser user and go to the Java bin dir, and run <tt>ControlPanel</tt> as follows:

+

−

+

−

<console>

+

−

$ ##i##cd /opt/oracle-jre-bin-1.7.0.51/bin

+

−

$ ##i##./ControlPanel

+

−

</console>

+

−

+

−

Now, go to the '''Security''' tab and click the '''Edit Site List...''' button. Add a URL for the site from which you are downloading the Java Applet. Now click '''OK''' and save your changes, and try running the Java applet again. It should now be allowed to run.

+

−

+

−

=== "Java Not Allowed" in Chrome-Based Browsers ===

+

−

If you load a Web page with a Java applet on it, you may see a Java logo with text underneath that says "Java not allowed". To resolve this issue, visit the following URL in your browser:

+

−

+

−

<code>chrome://plugins</code>

+

−

+

−

This will display a list of all plugins enabled in Chrome. You should see a plugin called something like this: