Como adicionar um addon do Thunderbird globalmente?

6

Eu baixei uma extensão do Thunderbird como um arquivo .xpi .

Eu sei, eu posso instalá-lo no Thunderbird indo para

Tools
  -> Addons
     -> Install Add-on from file

No entanto, estou usando vários perfis do Thunderbird e teria que fazer isso para cada um deles.

Como posso instalar este addon globalmente (presumivelmente em algum lugar em /usr/share/xul-ext )? Preciso descompactar esse arquivo de extensão .xpi ?

    
por Michael Boies 15.03.2015 / 12:33

1 resposta

3

Aparentemente, o diretório de extensão tem um local diferente em diferentes unices. No Ubuntu, é /usr/lib/thunderbird-addons/extensions . Essa resposta mantém seu diretório de /usr/lib/thunderbird/extensions/

  1. descompacte o arquivo xpi (é um zip)

    unzip addon.xpi
    
  2. recupere o ID do complemento do arquivo install.rdf :

    ID=$(grep em:id install.rdf  | head -1 | cut -d '>' -f 2 | cut -d '<' -f 1)
    
  3. crie o diretório do id-name em extensions :

    mkdir /usr/lib/thunderbird/extensions/$ID
    
  4. mova os arquivos descompactados

    mv $(ls | grep -v addon.xpi)) /usr/lib/thunderbird/extensions/$ID
    

Lembre-se de que estes não são atualizados automaticamente. A pergunta (por mim) em update-global-firefox-addons-automatically está esperando ...

EDIT: com o advento do webextensions, obter o ID é um pouco mais difícil. Experimente o seguinte script

#! /bin/bash
if [ $(id -u) -ne 0 ]; then echo 'needs to run as root'; exit; fi
D=$(mktemp -d)
unzip $1 -d $D
[ -f $D/manifest.json ] && ADDON_ID=$(openssl asn1parse -inform DER -in $D/META-INF/mozilla.rsa | grep -A 1 commonName | grep -E '{|@' | cut -d ':' -f 4)
[ -f $D/install.rdf ] && ADDON_ID=$(grep "em:id" $D/install.rdf  | head -1 | cut -d ">" -f 2 | cut -d "<" -f 1)
if [ x$ADDON_ID == x ]; then
    echo "ADDON_ID retrieval failed"
    exit
else
    echo ID: $ADDON_ID
fi
chmod 755 $D
chmod -R a+r $D
rm -rf /usr/lib/thunderbird-addons/extensions/$ADDON_ID
mv $D /usr/lib/thunderbird-addons/extensions/$ADDON_ID
    
por 07.08.2015 / 16:23