POR FAVOR, ESTEJA CIENTE

POR FAVOR, ESTEJA CIENTE

Quero melhorar meu script autônomo adicionando algum complemento do Firefox, mas não consigo encontrar o caminho,

Alguém pode ajudar a descobrir como?

Exemplo: (deseja instalar o plugin adblockPlus e definir uma nova página da web padrão)

wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi
firefox -silent -install-global-extension addon-1865-latest.xpi -setDefaultBrowser www.google.es

Desde já, obrigado.

Responder1

Usando seu método

gksudo firefox -install-global-extension addon-1865-latest.xpiparece fazer o truque para você. Isso instalará a extensão para todos os usuários do seu sistema.

Para instalar a extensão apenas para o seu usuário, use o caminho da extensão como argumento

firefox addon-1865-latest.xpi

Você ainda precisa clicar no Installbotão!

Automatizando a instalação

Firefoxnão precisa do nome do arquivo do complemento, mas do identificador do complemento como nome do pacote. Isso significa que se você está planejando instalar um complemento sem intervenção do usuário, você precisa extraí-lo para uma pasta com o nome da string identificadora do complemento, não o nome do complemento.

A string identificadora pode ser encontrada nas primeiras linhas do arquivo de manifesto de instalação do complemento install.rdfe tem a seguinte aparência: <em:id>{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}</em:id>. Tudo dentro de {}(incluindo as chaves) é o identificador.

Para que um complemento funcione, você precisa extrair o pacote, renomear a pasta que contém os arquivos para a string identificadora do complemento e colocá-la na pasta global de complementos ou na pasta de complementos do usuário.

Instalação global de complementos

Se você deseja instalar uma extensão automaticamente para todos os usuários do seu sistema, você precisa extraí-la, renomear a pasta que contém o complemento para a string id do complemento e copiá-la para a firefoxpasta de extensões globais /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/, qualquer coisa que você usar lá será chamada. automático quando um usuário abre firefox.

Instalação específica do usuário

Se você deseja instalar uma extensão automaticamente para apenas um usuário em seu sistema, você precisa extraí-la, renomear a pasta que contém o complemento para a string de id do complemento e copiá-la para a firefoxpasta de extensões do usuário /home/user_name/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/(crie-a se não existir) , qualquer coisa que você usar lá será chamada automaticamente quando um usuário abrir firefox.

Como preparar um complemento para instalação automática – Exemplo

Crie uma extensionspasta em sua casa e baixe o complemento nela

mkdir ~/extensions
cd ~/extensions
wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi

Extraia-o e exclua o original

unzip ~/extensions/addon-1865-latest.xpi
rm ~/extensions/addon-1865-latest.xpi

Leia a primeira linha do install.rdfarquivo para obter o id do addon (neste caso será {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}). e crie uma pasta com esse nome

mkdir ~/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

Mova todos os arquivos da sua extensionspasta para a pasta recém-criada ~/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}e você estará pronto para instalar movendo a {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}pasta, conforme descrito, para uma instalação local ou para uma instalação global.

Como definir a página inicial padrão

Para alterar sua página inicial sem usar as preferências dentro do firefox você tem que editar ~/.mozilla/firefox/*.default/prefs.js(onde *.defaultestá uma pasta ~/.mozilla/firefoxcriada para seu usuário) e adicionar esta linha no final dela

user_pref("browser.startup.homepage", "http://uptechtalk.com");

ou usando este comando

echo "user_pref("browser.startup.homepage", "http://uptechtalk.com");" >> ~/.mozilla/firefox/*.default/prefs.js

Você precisa fazer isso após fechar firefoxou o programa substituirá a configuração ao sair.

Se o seu usuário ainda não usou firefoxe você deseja definir a página inicial para todos os novos usuários (definir a página inicial globalmente), use este comando

echo "user_pref("browser.startup.homepage", "http://uptechtalk.com");" >> /etc/xul-ext/ubufox.js

Comentários sobre sua pergunta

-silentnão existe, você será solicitado a instalar essa xpiextensão de qualquer maneira e deverá clicar no botão para instalá-la;

-setDefaultBrowsernão definirá sua página inicial, tornará firefoxseu navegador padrão

Responder2

Isso é problemático, pois em diferentes versões do Firefox, coisas diferentes funcionam e, em algumas, nada funciona. Para as versões mais recentes basta renomear o .xpi para <addon id>.xpie colocá-lo em uma pasta de extensões. Posteriormente, ao iniciar o Firefox, você será solicitado a aceitar a instalação de todos os complementos adicionados lá.

Aqui estão algumas funções BASH que facilitam sua vida.

EXTENSIONS_SYSTEM='/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/'
EXTENSIONS_USER=`echo ~/.mozilla/firefox/*.default/extensions/`

# -------------------------- xpi tools ---------------------------------

get_addon_id_from_xpi () { #path to .xpi file
    addon_id_line=`unzip -p $1 install.rdf | egrep '<em:id>' -m 1`
    addon_id=`echo $addon_id_line | sed "s/.*>\(.*\)<.*/\1/"`
    echo "$addon_id"
}

get_addon_name_from_xpi () { #path to .xpi file
    addon_name_line=`unzip -p $1 install.rdf | egrep '<em:name>' -m 1`
    addon_name=`echo $addon_name_line | sed "s/.*>\(.*\)<.*/\1/"`
    echo "$addon_name"
}

# Installs .xpi given by relative path
# to the extensions path given
install_addon () {
    xpi="${PWD}/${1}"
    extensions_path=$2
    new_filename=`get_addon_id_from_xpi $xpi`.xpi
    new_filepath="${extensions_path}${new_filename}"
    addon_name=`get_addon_name_from_xpi $xpi`
    if [ -f "$new_filepath" ]; then
        echo "File already exists: $new_filepath"
        echo "Skipping installation for addon $addon_name."
    else
        cp "$xpi" "$new_filepath"
    fi
}

Vamos instalar o Adblock..

wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi
install_addon addon-1865-latest.xpi "$EXTENSIONS_USER"

Responder3

Para as versões mais recentes do Firefox, o procedimento foi bastante simplificado!

  1. Descompactarextension.xpi
  2. Ler applications.gecko.iddemanifest.json
  3. Renomear extension.xpipara<ID>.xpi
  4. Copie para uma das pastas de instalação padrão listadasaqui

Responder4

POR FAVOR, ESTEJA CIENTE

A partir do Firefox 74, JÁ NÃO É POSSÍVEL realizar esta tarefa.

Não gaste mais horas tentando fazer isso funcionar!

informação relacionada