Thunderbirdプラグインをグローバルに追加するには?

Thunderbirdプラグインをグローバルに追加するには?

Thunderbird 拡張機能を.xpiファイルとしてダウンロードしました。

わかりました。以下から Thunderbird にインストールできます。

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

しかし、私は複数のThunderbirdプロファイルを使用しており、各プロファイルに対してこれを行う必要があります。

このプラグインをグローバルに(おそらくどこかに/usr/share/xul-ext)インストールするにはどうすればよいですか?.xpiこの拡張ファイルの圧縮をそこから解くべきですか?

ベストアンサー1

拡張ディレクトリは、他のUnixとは異なる場所にあるようです。 Ubuntuでは、/usr/lib/thunderbird-addons/extensionsこの答えはあなたのディレクトリを作成します。/usr/lib/thunderbird/extensions/

  1. xpiファイルを解凍する(zipファイルです)

    unzip addon.xpi
    
  2. ファイルからアドインIDを検索しますinstall.rdf

    ID=$(grep em:id install.rdf  | head -1 | cut -d '>' -f 2 | cut -d '<' -f 1)
    
  3. 次の場所にid-nameディレクトリを作成しますextensions

    mkdir /usr/lib/thunderbird/extensions/$ID
    
  4. 解凍したファイルを移動します。

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

自動的に更新されません。 (私が提起した)質問は次のとおりです。グローバル Firefox プラグインの自動更新待っています...

編集:ネットワーク拡張の出現でIDを取得するのがもう少し難しくなりました。次のスクリプトを試してください

#! /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

おすすめ記事