Como evitar atualizações do Firefox por versão do aplicativo (preferências fora da pasta do perfil)?

3
O Firefox no Ubuntu 14.04 acabou de atualizar para o v 47, e quebrou algumas das coisas que eu estava trabalhando. Isso, no entanto, não é nada demais, pensei, porque posso baixar a versão anterior e trabalhar com ela, pensei. Então, eu faço algo assim:

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

Até aí tudo bem, mas infelizmente, assim que clico em Alt / Help / About Firefox, a maldita coisa começa a ser atualizada:

...enemsequermepergunta,oqueeuachoextremamentedesrespeitoso.

Oproblemaaquiéque,nainicialização,atémesmoessaversãousaoperfil"Usuário padrão" que meu sistema normal Firefox usa. Agora eu poderia criar uma pasta de perfil separada apenas para este Firefox, mas depois tenho que gerenciar mais coisas - o que não acho valer a pena, já que tudo o que quero fazer de qualquer jeito é apenas parar as atualizações.

Então, eu olhei um pouco para cima:

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);

Isso seria OK, se eu quisesse usar um diretório de perfil separado, mas como eu disse, eu não quero (e eu não quero mexer com o meu perfil de "Usuário padrão"). Então eu encontrei isto:

<firefox_installation_dir>/defaults/profile

Ok, então isso é algo fora de uma pasta de perfil, e no diretório do aplicativo, isso eu poderia usar, mas ainda funciona? Atualmente eu tenho isso:

$ 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");

Bem, pensei, se esse arquivo for lido, posso adicionar as preferências para interromper as atualizações aqui?

$ 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

Execute novamente o Firefox, assim que eu vir o Help / About, ele será atualizado novamente :(

Tentei também adicioná-los a um arquivo user.js separado no mesmo diretório:

$ 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

... mas ainda não há dados - novamente o Firefox começa a atualizar imediatamente assim que vejo o Help / About; e até about:config indica que essas preferências não mudaram de seus padrões.

Então, existe uma maneira de parar as atualizações desta versão "externa" do Firefox no nível "aplicativo" (ou seja, na sua pasta de aplicativos), que ainda usa o perfil "Usuário padrão"? Versão do Firefox?

    
por sdbbs 10.06.2016 / 11:12

2 respostas

2

Ok, aqui está uma solução, até que uma resposta apropriada chegue; o conceito é:

  • Crie uma pasta para um perfil "específico" dentro da pasta do aplicativo
  • Crie um script bash que executará firefox da pasta do aplicativo, com o perfil "específico" criado anteriormente (no 46, os arquivos firefox e firefox-bin são binários)
  • Uma vez que esta pasta de perfil "específica" é inicializada, crie um user.js dentro das preferências requeridas

Aqui está tudo isso em um script bash :

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

Agora, sempre que inicio firefox46 do terminal, o Firefox 46 começa com o perfil certo e não quer mais atualizar, que é o que eu queria ...

    
por sdbbs 10.06.2016 / 12:11
-1

Você pode simplesmente excluir o executável do Updater na pasta do firefox. Não há mais atualizações. Ever.

    
por user3806056 02.07.2018 / 10:18