monotonous.org

Using Pre-release Firefox on Linux

Every committed Mozillian and many enthusiastic end-users will use a pre-release version of Firefox.
In Mac and Windows this is pretty straightforward, you simply download the Firefox Nightly/Aurora/Beta dmg or setup tool, and get going. When it is installed it is a proper desktop application, you could make it your default browser, and life goes on.
In Linux, we rely much more on packagers to prepare an application for the distribution before we could use it. This usually works really well, but sometimes you really just want to use an upstream app without any gatekeepers.
The pre-release versions of Firefox for Linux comes in tarballs. You unpack them, and could run them out of the unpacked directory. But it doesn’t run well. You can’t set them as your default browser, the icon is a generic square, and opening links from other apps is a headache. In short, it’s a less than polished experience.
So here is a small script I wrote, it does a few things:

  1. It downloads the latest Firefox from the channel of your choosing.
  2. It unpacks it into a hidden directory in your $HOME
  3. It adds a symbolic link to the main executable in ~/.local/bin .
  4. It adds symbolic links for the icon’s various sizes into your icon theme in ~/.local/share/icons.
  5. It adds a desktop file to ~/.local/share/applications.

It doesn’t require root privileges, and is contained to your home directory so it won’t conflict with the system Firefox installation or touch the system libxul. Typically, you only need to run the script once per channel. After a channel is installed, they will get automatic updates through the actual app.

[Nightly running in Fedora 22](/assets/uploads/2015/05/screenshot-from-2015-05-06-12-08-51.png)
See the nice icon?

So, here are some commands you could copy to your terminal and have pre-release Firefox installed:

Nightly

curl https://raw.githubusercontent.com/eeejay/foxlocal/master/foxlocal.py  | python - nightly

Aurora

curl https://raw.githubusercontent.com/eeejay/foxlocal/master/foxlocal.py  | python - aurora

Beta

curl https://raw.githubusercontent.com/eeejay/foxlocal/master/foxlocal.py  | python - beta

Release

curl https://raw.githubusercontent.com/eeejay/foxlocal/master/foxlocal.py  | python - release