3

Firefox on Ubuntu 14.04 just updated to v 47, and it broke some of the stuff I was working on. That is however no biggie, I thought, because I can just download the previous version, and work with it, I thought. So, I do something like this:

wget https://ftp.mozilla.org/pub/firefox/releases/46.0.1/linux-i686/en-US/firefox-46.0.1.tar.bz2
tar xjvf firefox-46.0.1.tar.bz2
mv firefox firefox-46.0.1
./firefox-46.0.1/firefox # to run

So far so good, but unfortunately, as soon as I click Alt / Help / About Firefox, the damn thing starts updating:

firefox updating

... and it doesn't even ask me, which I find extremely disrespectful.

The problem here is that at startup, even this version uses the "Default User" profile that my normal system Firefox uses. Now I could set up a separate profile folder just for this Firefox, but then I have to manage more things - which I don't find worth the effort, since all I want to do anyways, is just to stop the updates.

So, I looked up a bit:

You can set these prefs in about:config to disable automatic updating:
app.update.auto - false
app.update.enabled - false
app.update.silent - false
....
You can create a new file in a text editor ... called user.js ... Place this file in your Profile Folder.
// turn off application updates:
user_pref("app.update.enabled", false);

This would be OK, if I wanted to use a separate Profile directory, but as I said, I don't (and I don't want to mess with my "Default User" profile either). Then I found this:

<firefox_installation_dir>/defaults/profile

Ok, so this is something outside of a Profile folder, and in the application directory, this I could use, but does it still work? Currently I have this:

$ find firefox-46.0.1/ -name '*.js'
firefox-46.0.1/defaults/pref/channel-prefs.js
$ cat firefox-46.0.1/defaults/pref/channel-prefs.js
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

pref("app.update.channel", "release");

Well, I thought, if this file is read, then I can just add the preferences to stop updates here?

$ cat >> firefox-46.0.1/defaults/pref/channel-prefs.js << 'EOF'
> pref("app.update.auto", false);
> pref("app.update.enabled", false);
> pref("app.update.silent", false);
> EOF

Re-run Firefox, as soon as I see Help/About, it starts updating again :(

Tried also adding these to a separate user.js file in the same directory:

$ cat >> firefox-46.0.1/defaults/pref/user.js << 'EOF'
> pref("app.update.auto", false);
> pref("app.update.enabled", false);
> pref("app.update.silent", false);
> EOF

... but still no dice - again Firefox starts updating immediately once I see Help/About; and even about:config indicates that these preferences have not changed from their defaults.

So, is there a way to stop the updates of this "extern" version of Firefox on "application" level (i.e. in its application folder), such that is still uses the "Default User" profile otherwise user by the main Firefox version?

2

Ok, here is a workaround, until a proper answer arrives; the concept is:

  • Create a folder for a "specific" profile inside the application folder
  • Create a bash script that will run firefox from the application folder, with the "specific" profile created earlier (in 46, both firefox and firefox-bin files are binary)
  • Once this "specific" profile folder is initialized, create a user.js inside with the required preferences

Here is all of that in a bash script:

wget https://ftp.mozilla.org/pub/firefox/releases/46.0.1/linux-i686/en-US/firefox-46.0.1.tar.bz2
tar xjvf firefox-46.0.1.tar.bz2
mv firefox firefox-46.0.1

# create a new, "specific" profile folder
mkdir firefox-46.0.1/profile-46

# create a new bash script to run firefox:
cat > firefox-46.0.1/firefox46.sh <<'EOF'
#!/usr/bin/env bash
# set -x
# SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # nowork 4 symlink
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
cd ${SCRIPT_DIR} # just in case
# -no-remote implies --new-instance.
exec "${PWD}/firefox" -profile "${PWD}/profile-46" -new-instance
EOF

# make bash script executable:
chmod +x firefox-46.0.1/firefox46.sh

# run once, just to init the profile-46 directory, then exit manually:
./firefox-46.0.1/firefox46.sh

# create user.js to override; firefox-46.0.1/profile-46/prefs.js should not be edited manually
# (https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences)
# (http://practical-admin.com/blog/firefox-customization-file/)
cat > firefox-46.0.1/profile-46/user.js << 'EOF'
pref("app.update.auto", false);
pref("app.update.enabled", false);
pref("app.update.silent", false);
EOF

# finally, symlink to /usr/bin:
sudo ln -s $PWD/firefox-46.0.1/firefox46.sh /usr/bin/firefox46

Now, whenever I start firefox46 from the terminal, Firefox 46 starts with the right profile, and does not want to update anymore, which is what I wanted...

-1

You can simply delete Updater executable in the firefox folder. No more updates. Ever.

  • @NikolayNikolov why is this not an answer? It seems to be providing a way to stop the updates. I don't know if this would work but, if it doesn't, then we should downvote. It is at least an attempt to answer the question as asked. – terdon Jul 2 '18 at 10:06
  • @terdon, you are right! I've deleted my comment. Thank you! – Nikolay Nikolov Jul 2 '18 at 10:30
  • Welcome to Ask Ubuntu! I recommend to edit this answer to expand it with specific details about how to do this. (See also How do I write a good answer? for general advice about what sorts of answers are considered most valuable on Ask Ubuntu.) – David Foerster Jul 2 '18 at 10:36
  • 1
    Firefox is shipped to all Ubuntu users by default and updated via the package manager. Thus for most users there is no self-updater from Mozilla included that one can delete. I'm unsure if Mozilla's self-updater supports Linux at all since most Linux users use Linux distributions that perform update through their package manager and all who don't are obviously apt enough to manage their own software updates. -1 – David Foerster Jul 2 '18 at 10:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.