我已将 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/
解压 xpi 文件(它是一个 zip)
unzip addon.xpi
从文件中检索附加组件 ID
install.rdf
:ID=$(grep em:id install.rdf | head -1 | cut -d '>' -f 2 | cut -d '<' -f 1)
在以下位置创建 id-name 目录
extensions
:mkdir /usr/lib/thunderbird/extensions/$ID
移动解压后的文件
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