Mic*_*ies 5 software-installation thunderbird
我已将 Thunderbird 扩展程序下载为.xpi
文件。
我知道,我可以通过以下方式在 Thunderbird 中安装它
Tools
-> Addons
-> Install Add-on from file
Run Code Online (Sandbox Code Playgroud)
但是,我使用了多个 Thunderbird 配置文件,我必须为每个配置文件执行此操作。
我怎样才能全局安装这个插件(大概在 中的某个地方/usr/share/xul-ext
)?我必须在.xpi
那里解压这个扩展文件吗?
看起来,扩展目录在不同的 unice 上有不同的位置。在 Ubuntu 上,它是/usr/lib/thunderbird-addons/extensions
. 这个答案让你的目录/usr/lib/thunderbird/extensions/
解压 xpi 文件(它是一个 zip)
unzip addon.xpi
Run Code Online (Sandbox Code Playgroud)从文件中检索附加组件 ID install.rdf
:
ID=$(grep em:id install.rdf | head -1 | cut -d '>' -f 2 | cut -d '<' -f 1)
Run Code Online (Sandbox Code Playgroud)在以下位置创建 id-name 目录extensions
:
mkdir /usr/lib/thunderbird/extensions/$ID
Run Code Online (Sandbox Code Playgroud)移动解压后的文件
mv $(ls | grep -v addon.xpi)) /usr/lib/thunderbird/extensions/$ID
Run Code Online (Sandbox Code Playgroud)请注意,这些不会自动更新。update-global-firefox-addons-automatically 的问题(由我提出)正在等待......
编辑:随着网络扩展的出现,获取 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1979 次 |
最近记录: |