如何全局添加 Thunderbird 插件?

如何全局添加 Thunderbird 插件?

我已将 Thunderbird 扩展下载为.xpi文件。

我知道,我可以通过以下方式在 Thunderbird 中安装它

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

但是,我正在使用多个 Thunderbird 配置文件,并且我必须为每个配置文件执行此操作。

我如何全局安装这个插件(大概在 的某个地方/usr/share/xul-ext)?我必须.xpi在那里解压这个扩展文件吗?

答案1

看起来,扩展目录在不同的 unice 上有不同的位置。在 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

相关内容